天天看點

Python-網絡爬蟲的盜亦有道

目錄

網絡爬蟲引發的問題

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網絡爬蟲與資訊提取》—嵩天