HtmlAgilityPack 抓取页面的乱码处理
HtmlAgilityPack 抓取頁面的亂碼處理
用來解析 HTML 確實方便。不過直接讀取網頁時會出現亂碼。
實際上,它是能正確讀到有關字符集的信息,怎么會在輸出時,沒有取到正確內容。
因此,讀兩次就可以了。
#if interactive
#r @"E:\htmlagilitypack-99964\Trunk\HtmlAgilityPack\bin\fx.4.0\Debug\HtmlAgilityPack.dll"
#endif
//open System
//open System.Xml
//?? hexun -- GB2312
//?? tianya -- UTF-8
//let url = @"http://hadstj.blog.hexun.com/88419406_d.html"
let url = @"http://bbs.tianya.cn/post-worldlook-873912-1.shtml"
let html = new HtmlAgilityPack.HtmlWeb()
let doc0 = html.Load? ( url )
html.OverrideEncoding <- doc0.Encoding
let doc = html.Load? ( url )
let title = doc.DocumentNode.SelectSingleNode("//title").InnerText
printfn "%s" title
doc.DocumentNode.SelectNodes("//div")
|> Seq.map ( fun i -> i.InnerText )
|> Seq.iter?? ( printfn "%s" )
總結
以上是生活随笔為你收集整理的HtmlAgilityPack 抓取页面的乱码处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 摘要:ASP.NET的路由
- 下一篇: 指向结构体的指针别名