Парсинг, 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д