python網絡爬蟲基礎
網絡爬蟲的尺寸
三類爬蟲
小規模,資料量小 爬取速度不敏感 | 中規模,資料規模較大,爬取速度敏感 | 大規模,搜尋引擎 爬取速度關鍵 | |
庫 | Requests庫 90》爬蟲 | Scrapy庫 | 無,一般大型搜尋公司都有一套可以爬取全網的庫:如百度,Google |
爬取範圍 | 爬取網頁 玩轉網頁 | 爬取網站 爬取系列網站 | 爬取全網,Intener |
網絡爬蟲的限制
- 來源審查:判斷User-Agent進行限制
- 檢查來訪HTTP協定頭的User-Agent域,隻響應浏覽器或友好爬蟲的通路
- 釋出公告:Robots(機器人)協定
- 告知所有爬蟲網站的爬取政策,要求爬蟲遵守
Robots協定
Robots Exclusion Standard 網絡爬蟲排除标準
作用:網站告知網絡爬蟲那些頁面可以爬取,那些不行。
形式:在網站根目錄下的robots.txt檔案。
(一般大型網絡公司都執行了robots協定,下面看一下京東:https://www.jd.com/robots.txt)
robots協定的兩種狀态
User-agent 表示通路的爬蟲類型 * 表示全部類型
Disallow 表示拒絕通路的目錄 / 為根目錄
User-agent: * //全部爬蟲 Disallow: /?* //不能通路以?開頭的全部目錄 Disallow: /pop/*.html //不能通路/pop/全部.html檔案 Disallow: /pinpai/*.html?* //不能通路/pinpai/全部。html檔案帶參數的 User-agent: EtaoSpider //以下是拒絕四種爬蟲爬取,jd 判斷這四種爬蟲為有害爬蟲,拒絕通路全部檔案 Disallow: / User-agent: HuihuiSpider Disallow: / User-agent: GwdangSpider Disallow: / User-agent: WochachaSpider Disallow: /
https://www.baidu.com/robots.txt
http://news.sina.com.cn/robots.txt
https://www.qq.com/robots.txt
http://www.moe.edu.cn/robots.txt (無協定)
Robots協定的使用
網絡爬蟲:自動或人工識别robots.txt,再進行内容爬取。
限制性:Robots協定是建議但非限制性,網絡爬蟲可以不遵守,但存在法律風險。
個人建議:
通路量小到和人類一樣,如一小時一次:可以不遵守,但是如果是商業使用,就需要遵守
通路量小:可以遵守。
通路量大:建議遵守。
非商業且偶爾:建議遵守。
商業利益:必須遵守。
爬取全網:必須遵守。
網絡爬蟲,盜亦有道
想學習python爬蟲的可以繼續學習,,爬蟲基礎必備庫Requests庫:
https://mp.csdn.net/postedit/92766651