目錄
網絡爬蟲引發的問題
Robots協定
Robots協定的遵守
網絡爬蟲引發的問題
網絡爬蟲的尺寸
- 小規模,資料量小,爬取速讀不敏感,Requests庫,>90%; 爬去網頁,玩轉網頁
- 中規模,資料規模大,爬去速讀敏感,Scrapy庫;爬取網站,爬取系列網站
- 大規模,搜尋引擎,爬取速度關鍵,定制開發;爬取全網
性能騷擾
Web伺服器預設接收人類通路,受限于編寫水準和目的,網絡爬蟲将會為Web伺服器帶來巨大的資源開銷
法律風險
伺服器上的資料有産權歸屬,網絡爬蟲擷取資料後牟利将帶來法律風險
隐私洩露
網絡爬蟲可能具備突破簡單通路控制的能力,獲得被保護資料進而洩露個人隐私
網絡爬蟲的限制
- 來源審查:判斷User-Agent進行限制,檢查來訪HTTP協定頭的User-Agent域,隻響應浏覽器或友好爬蟲的通路
- 釋出公告:Robots協定,告知所有爬蟲網站的爬取政策,要求爬蟲遵守
Robots協定
- Robots Exclusion Standard,網絡爬蟲排除标準
- 作用:網站告知網絡爬蟲哪些頁面可以抓取,哪些不行
- 形式:在網站根目錄下的robots.txt檔案
#注釋,*代表所有,/代表根目錄
#京東的Robots協定
https://www.jd.com/robots.txt
User-agent: *
Disallow: /?*
Disallow: /pop/*.html
Disallow: /pinpai/*.html?*
User-agent: EtaoSpider
Disallow: /
User-agent: HuihuiSpider
Disallow: /
User-agent: GwdangSpider
Disallow: /
User-agent: WochachaSpider
Disallow: /
案例:真實的Robots協定
https://www.baidu.com/robots.txt
http://news.sina.com.cn/robots.txt
https://www.qq.com/robots.txt
https://news.qq.com/robots.txt
http://www.moe.edu.cn/robots.txt (無robots協定)
Robots協定的遵守
robots協定的使用
- 網絡爬蟲:自動或人工識别robots.txt,再進行内容爬取
- 限制性:Robots協定是建議但非限制性,網絡爬蟲可以不遵守,但存在法律風險
對Robots協定的了解
爬取網頁 玩轉網頁
- 通路量很小:可以遵守,通路量較大,建議遵守;
爬取網站 爬取系列網站
- 非商業且偶爾:建議遵守 商業利益:必須遵守
爬取全網
- 必須遵守
原則:類人行為可不參考Robots協定
本文僅為學習Python記錄,資料來源于中國大學MOOC《Python網絡爬蟲與資訊提取》—嵩天