規劃網頁的抓取

2021-05-17 15:18:09 字數 619 閱讀 1266

適當地規劃網頁的抓取,限制單位時間內對乙個**抓取網頁的數量(例如每天不超過2萬個,或者至少每隔30秒才對同乙個**發出下乙個網頁請求,等等),是大規模搜尋引擎必須要認真對待的問題。總之,搜尋引擎需要和**「和睦相處」,它們是相互依存的。可以考慮乙個**從主頁開始向下,按照鏈結的深度將網頁組織成一層層的,上層中的網頁統計上會比下層的網頁重要些。這樣一種認識通過pagerank得到了加強,即較靠近主頁的網頁通常pagerank值較高。這樣,首先得到盡量多的主頁,然後從主頁開始的先寬搜尋就應該是乙個較好的策略。

panelpower——參加調查,豐厚獎金回報!

要保證每個網頁不被重複抓取。由於一篇網頁可能被多篇網頁鏈結,在spider爬取過程中就可能多次得到該網頁的url。於是如果不加檢查和控制,網頁就會被多次抓取。遇到迴圈鏈結的情況,還會使爬取器陷死。解決這個問題的有效方法是使用兩個表,unvisited_table和visited_table。前者包含尚未訪問的url,後者記錄已訪問的url。系統首先將要蒐集的種子url放入unvisited_table,然後spider從其中獲取要蒐集網頁的url,蒐集過的網頁url放入visited_table中,新解析出的並且不在visited_table中的url加入unvisited_table。此方法簡單明瞭,適合在單個節點上實現。

抓取網頁的gzip deflate

現在的網頁普遍支援gzip壓縮,這往往可以解決大量傳輸時間,以豆瓣的主頁為例,未壓縮版本327k,壓縮了以後61k,為原來的1 5。這就意味著抓取速度會快5倍。然而python的urllib urllib2預設都不支援壓縮,要返回壓縮格式,必須在request的header裡面寫明 accept e...

網頁內容抓取

之前採用xpath和正規表示式對網頁內容進行抓取,發現在有的地方不如人意,就採用了htmlparser對頁面進行解析,抓取需要的東西。htmlparser有點不好的地方在於不能對starttag和endtag進行匹配。採用了兩種方法進行抓取。第一種,抓取成對的tag之間的內容,採用了queue.qu...

php抓取網頁

用php抓取頁面的內容在實際的開發當中是非常有用的,如作乙個簡單的內容採集器,提取網頁中的部分內容等等,抓取到的內容在通過正規表示式做一下過濾就得到了你想要的內容,以下就是幾種常用的用php抓取網頁中的內容的方法。1.file get contents php url contents file g...