Pobieranie informacji ze strony
Ostatnio zmodyfikowano 2012-10-04 18:30
ridic14 Temat założony przez niniejszego użytkownika |
» 2012-10-04 17:15:58 dobra znalazłem to co mnie interesuje w skrypcie ale taraz mam pytanie ... jak mam skrypt: </td> <td class="al"> EUR </td> <td class="ar"> 4,0933
</td> Tłumaczenie problemu w bezsensowny spośób: no to tu wiem że użyję metody do szukania i wpiszę tekst EUR i znajdzie... ale jak zrobić żeby zapisać także wartość klika linijek niżej... Spróbuję wytłumaczyć to w bardziej zrozumiały sposób... Czy da się napisać program który szuka tekstu np EUR po czym a) pomija następne wersy aż do napotkania liczby lub b) pomija wybraną ilość wersów |
|
savior |
» 2012-10-04 17:28:22 Jeśliby interesowało pobranie z podanego przeze mnie xml'a to poniżej masz algorytm do zrobienia tego w c# StringBuilder headers = new StringBuilder(); System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient(); String xmlFileName = String.Empty; // Łączysz się ze stroną banku client.Connect("www.nbp.pl", 80); System.Net.Sockets.NetworkStream stream = client.GetStream(); System.IO.StreamWriter writer = new System.IO.StreamWriter(stream); writer.NewLine = "\r\n"; writer.AutoFlush = true; System.IO.StreamReader reader = new System.IO.StreamReader(stream); // Przedstawiasz się jako FireFox Mozilla i żądasz pliku dir.txt, który zawiera nazwy plików XML z kursami walut headers.AppendLine("GET /Kursy/xml/dir.txt HTTP/1.0"); headers.AppendLine("Host: www.nbp.pl"); headers.AppendLine("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.10) Gecko/20050717 Firefox/1.0.6"); headers.AppendLine(""); // Wysyłasz Request writer.Write(headers.ToString()); // Pobierasz nazwę najaktualniejszego pliku XML z kursami walut while (!reader.EndOfStream) { string chwila = reader.ReadLine(); if ((chwila != "") && (chwila[0] == 'a')) xmlFileName = chwila; } string plikXML = "http://www.nbp.pl/kursy/xml/" + xmlFileName + ".xml"; System.Xml.XmlReader xml = null; System.Xml.XmlReaderSettings ustawienia = new System.Xml.XmlReaderSettings(); ustawienia.IgnoreWhitespace = true; ustawienia.IgnoreProcessingInstructions = true; string TMP = ""; try { xml = System.Xml.XmlReader.Create(plikXML, ustawienia); while (xml.Read()) { switch (xml.NodeType) { case System.Xml.XmlNodeType.XmlDeclaration: break; case System.Xml.XmlNodeType.Comment: break; case System.Xml.XmlNodeType.Element: TMP = System.Convert.ToString(xml.Name); break; case System.Xml.XmlNodeType.EndElement: break; case System.Xml.XmlNodeType.Text: switch (TMP) { case "nazwa_waluty": ddlWaluta.Items.Add(xml.Value); break; case "przelicznik": ddlPrzelicznik.Items.Add(xml.Value); break; case "kod_waluty": ddlKodWaluty.Items.Add(xml.Value); break; case "kurs_sredni": ddlKurs.Items.Add(xml.Value); break; } break;
} } } catch (Exception exc) {
} finally { xml.Close(); } |
|
ridic14 Temat założony przez niniejszego użytkownika |
» 2012-10-04 17:36:32 a czy istnieje w fstream metoda którą wskazałbym linie do zapisania
np. linie 254 z pliku jakiegoś |
|
DejaVu |
» 2012-10-04 18:30:58 Temat zamykam z prostego powodu - rozmowy zeszły na problemy niezwiązane z tematem. |
|
1 « 2 » |