欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java怎么寫爬蟲

榮姿康2年前22瀏覽0評論

java怎么寫爬蟲?

寫爬蟲你一定要關注以下5個方面:

1.如何抽象整個互聯網

抽象為一個無向圖,網頁為節點,網頁中的鏈接為有向邊。

2.抓取算法

采用優先隊列調度,區別于單純的BFS,對于每個網頁設定一定的抓取權重,優先抓取權重較高的網頁。對于權重的設定,考慮的因素有:1. 是否屬于一個比較熱門的網站 2. 鏈接長度 3. link到該網頁的網頁的權重 4. 該網頁被指向的次數 等等。

進一步考慮,對于熱門的網站,不能無限制的抓取,所以需要進行二級調度。首先調度抓取哪個網站,然后選中了要抓取的網站之后,調度在該網站中抓取哪些網頁。這樣做的好處是,非常禮貌的對單個網站的抓取有一定的限制,也給其他網站的網頁抓取一些機會。

3.網絡模型

分別考慮單機抓取和分布式抓取的情況。對于Windows的單機,可以使用IOCP完成端口進行異步抓取,該種網絡訪問的方式可以最大程度的利用閑散資源。因為網絡訪問是需要等待的,如果簡單的同時開多個線程,計算機用于線程間切換的耗費會非常大,這種用于處理抓取結果的時間就會非常少。IOCP可以做到使用幾個線程就完成幾十個線程同步抓取的效果。對于多機的抓取,需要考慮機器的分布,如抓取亞洲的站點,則用在亞洲范圍內的計算機等等。

4.實時性

新聞網頁的抓取一般來說是利用單獨的爬蟲來完成。新聞網頁抓取的爬蟲的權重設置與普通爬蟲會有所區別。首先需要進行新聞源的篩選,這里有兩種方式,一種是人工設置新聞源,如新浪首頁,第二種方式是通過機器學習的方法。新聞源可以定義鏈接數非常多,鏈接內容經常變化的網頁。從新聞源網頁出發往下抓取給定層級限制的網頁所得到,再根據網頁中的時間戳信息判斷,就可以加入新聞網頁。

5.網頁更新

網頁如果被抓下來以后,有的網頁會持續變化,有的不會。這里就需要對網頁的抓取設置一些生命力信息。當一個新的網頁鏈接被發現以后,他的生命力時間戳信息應該是被發現的時間,表示馬上需要被抓取,當一個網頁被抓取之后,他的生命力時間戳信息可以被設置為x分鐘以后,那么,等到x分鐘以后,這個網頁就可以根據這個時間戳來判斷出,他需要被馬上再抓取一次了。一個網頁被第二次抓取以后,需要和之前的內容進行對比,如果內容一致,則延長下一次抓取的時間,如設為2x分鐘后再抓取,直到達到一個限制長度如半年或者三個月(這個數值取決于你爬蟲的能力)。如果被更新了,則需要縮短時間,如,x/2分鐘之后再抓取法:

1.

下載選擇并使用網絡工具包;

2.

提交請求,使用get/post的方式提交請求;

3.

使用代理IP,對目標要求的各種必要參數源進行分析

網絡爬蟲java,java怎么寫爬蟲