網絡爬蟲,是一種自動獲取網頁內容的程序。是搜索引擎的重要組成部分,所以搜索引擎優化很大程度上就是針對爬蟲而作出的優化。【從別人的網站爬取有用數據到本身本地數據庫】html
網絡爬蟲基本原理以及jsoup基本使用方法:http://my.oschina.net/xsh1208/blog/465121 算法
傳統爬蟲和聚焦爬蟲。數據庫
傳統爬蟲:從一個或若干初始網頁的URL開始,得到初始網頁上的URL,在抓取網頁的過程當中,不斷從當前頁面上抽取新的URL放入隊列,直到知足系統的必定中止條件。通俗的講,也就是經過源碼解析來得到想要的內容。網頁爬蟲
聚焦爬蟲:工做流程較爲複雜,須要根據必定的網頁分析算法過濾與主題無關的連接,保留有用的連接並將其放入等待抓取的URL隊列。而後,它將根據必定的搜索策略從隊列中選擇下一步要抓取的網頁URL,並重覆上述過程,直到達到系統的某一條件時中止。另外,全部被爬蟲抓取的網頁將會被系統存貯,進行必定的分析、過濾,並創建索引,以便以後的查詢和檢索;對於聚焦爬蟲來講,這一過程所獲得的分析結果還可能對之後的抓取過程給出反饋和指導。 瀏覽器
KS-WAF:將爬蟲行爲分爲 搜索引擎爬蟲 及 掃描程序爬蟲,可屏蔽特定的搜索引擎爬蟲節省帶寬和性能,也可屏蔽掃描程序爬蟲,避免網站被惡意抓取頁面。 服務器
nutch httpclient Jsoup 等等網絡
Httpclient:能夠仿瀏覽器訪問 多線程
【具體介紹以後補上】性能
本地經過程序爬取他人網站內容,如遇被封ip,則可採起如下方式處理:優化
一、技術處理【調節網頁爬蟲的請求頻率】
在程序中使用假裝術,不明目張膽的爬【使用代理;使用高級爬蟲(不定週期爬)】
二、簡單處理【隨時動態更換ip】
若是在公司被封ip,則可考慮重啓路由,從新獲取公網ip
自動更改IP地址反爬蟲封鎖,支持多線程,可參考(待校驗):http://www.open-open.com/lib/view/open1427353292652.html
三、網絡處理 【與第2點相似,代理訪問,ADSL撥號】
被封ip後,本地ip不能訪問該網站,可是設置了代理服務器後,瀏覽器能夠訪問該網站【注意:程序不能夠訪問網站,故能夠給請求的http設置代理】。能夠在命令行加路由,通常格式爲:route add ip地址 mask 子網掩碼 默認網關前提:把掩碼要改爲跟上面掩碼同樣。這個路由從新開機就沒有了。能夠 route add -p ip地址 mask 子網掩碼 默認網關。這樣的話,從新開機都在的。
使用ADSL撥號最大的有點就是:ip不固定,重啓下路由就能夠換一個新的ip了。並且ISP擁有大量的IP,會分配到和以前相同的IP機率很低。一旦你發現目前的IP被封鎖,即可以馬上呼叫相關的API將網絡斷線並從新撥號,取得新的IP繼續執行。