Парсинг, HtmlAgilityPack - C#
Формулировка задачи:
В общем давно хотел затронуть тему парсинга, сейчас появился повод...
В общем полазил я по инету и увидел что многие советуют "HtmlAgilityPack", зашел, скачал, посмотрел пример, и немного был в не понятках, так как пример всего 1:
Короче разобраться сам не смог... Объясните как работает парсер?
Листинг программы
- HtmlDocument doc = new HtmlDocument();
- doc.Load("file.htm");
- foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
- {
- HtmlAttribute att = link["href"];
- att.Value = FixLink(att);
- }
- doc.Save("file.htm");
Решение задачи: «Парсинг, HtmlAgilityPack»
textual
Листинг программы
- Public Sub rer3()
- Dim Request As System.Net.HttpWebRequest
- Dim Response As System.Net.HttpWebResponse
- Dim MyStreamReader As System.IO.StreamReader
- Dim Content As String
- Request = System.Net.HttpWebRequest.Create("") 'тут урл
- Request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10"
- Response = Request.GetResponse()
- MyStreamReader = New System.IO.StreamReader(Response.GetResponseStream(), System.Text.Encoding.GetEncoding(1251))
- Content = MyStreamReader.ReadToEnd()
- MyStreamReader.Close()
- Dim doc As mshtml.IHTMLDocument2 = New mshtml.HTMLDocument
- doc.clear()
- doc.write(Content)
- doc.close()
- Dim div As mshtml.HTMLDivElement
- div = doc.GetElementById("mycontent")
- If Not div Is Nothing Then
- Dim tbl As mshtml.HTMLTable
- tbl = div.getElementsByTagName("table").item(0)
- If Not tbl Is Nothing Then
- For Each tr As mshtml.HTMLTableRow In tbl.rows
- If tr.className Is Nothing Then Continue For
- If tr.className.Contains("tabletext") = True Then
- Debug.Print(tr.innerText)
- End If
- Next
- End If
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д