2.有很多HTTP庫,還有gevent庫monkey補丁後播放協程的選項。如果是1000萬的規模,urllib3就很不錯了。
3.對付login、ajax之類的網站,只是手工勞動,不會推出。
4.速度很重要。在ec2或者國內雲上運行是壹個很重要的指標,就是妳每往下爬壹億個網頁要花多少錢。爬坡時,比如壹個4核的虛擬機節點,可以用100 Mbps進行入站借出嗎?
5.beautifulsoup太慢,全網爬行,分析編碼更快。C實現的chardet還可以。
最重要的永遠是爬下來後對信息的提取、分析和利用,這是另壹個話題。
1.學習使用chrome瀏覽器查看通訊和查看元素格式。
2.添加用戶代理,這是最簡單的反爬行措施。
3.最好用Ipython寫爬蟲。在壹個互動的環境中,妳總能知道妳的問題是什麽。
使用請求
5.用get或post下載html後,確保您需要的東西在html中,而不是以後用ajax或javascript加載。
6.分析的話,BeautifulSoup不錯。對於少數非常特殊的,可以考慮re。
7.如果需要收集大量數據,就要學會使用框架,比如scrapy。
高級:
妳需要模擬登錄才能加入網站,這需要大量使用ajax或者javascript,或者反爬蟲。使用請求的會話並註意F12,以查看發送了什麽數據。
不,使用模擬瀏覽器即可。推薦硒。雖然比較慢,內存也比較大,但是真的很省力,基本上查不出來。
最後,爬蟲速度不要太快,加上time.sleep(1),盡量少用多線程。別人建壹個網站不容易,尤其是小站。不給別人帶來大麻煩,別人也就睜壹只眼閉壹只眼了,不然IP封號就不好玩了。
有些頁面喜歡用重定向,但是請求的get和post方法默認直接跳轉!很可能會跳轉到錯誤的cookies和頭,所以壹定要將allow_redirects參數設置為false。