天天看點

使用HttpWebRequest和HtmlAgilityPack抓取網頁(拒絕亂碼,拒絕正規表達式)

廢話不多說, 直接說需求。

公司的網站需要抓取其他網站的文章,但任務沒到我這,同僚搞了一下午沒搞出來。由于剛剛到公司, 想證明下自己,就把活攬過來了。因為以前做過,覺得應該很簡單,但當我開始做的時候,我崩潰了,http請求後,得到的是字元串竟然是亂碼,然後就各種百度(谷歌一直崩潰中),最後找到了原因。由于我要抓取的網頁做了壓縮,是以當我抓的時候,抓過來的是壓縮後的,是以必須解壓一下,如果不解壓,不管用什麼編碼方式,結果還是亂碼。直接上代碼:

使用HttpWebRequest和HtmlAgilityPack抓取網頁(拒絕亂碼,拒絕正規表達式)
使用HttpWebRequest和HtmlAgilityPack抓取網頁(拒絕亂碼,拒絕正規表達式)

View Code

調用HttpGet就可以擷取網址的源碼了,得到源碼後, 現在用一個利器HtmlAgility來解析html了,不會正則不要緊,此乃神器啊。老闆再也不用擔心我的正規表達式了。

至于這個神器的用法,園子文章很多,寫的也都挺詳細的,在此不贅餘了。

下面是抓取園子首頁的文章清單:

運作結果如圖:

使用HttpWebRequest和HtmlAgilityPack抓取網頁(拒絕亂碼,拒絕正規表達式)

打完收工。

由于時間倉促,加上本人文筆不行,如有疑問,歡迎吐槽,吐吐更健康。

繼續閱讀