Python爬虫 爬虫需要遵守的规则

Python爬虫(二十)

学习Python爬虫过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。

—— 爬虫需要遵守的规则 ——

网络爬虫的尺寸

  • 为了爬取网页的爬虫:小规模,数据量小,爬取速度不敏感。
    建议使用Requests库。

  • 为了爬取网站或者系列网站的爬虫:中规模,数据量较大,爬取速度敏感;
    建议使用Scrapy库

  • 为了爬取全网的爬虫:大规模,类似于搜索引擎,爬取速度关键;
    只能进行定制开发

网络爬虫引发的问题

主要问题:骚扰问题、法律风险、隐私泄露

  • 网络爬虫的骚扰:受限于编写水平和目的,网络爬虫将会为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: /
    
    • User-agent: *
      该协议将爬虫命名为User-agent,符号“ * ”代表所有,意思是所有爬虫均要遵守该协议。

    • Disallow: /?*
      Disallow是指不允许爬取的页面,“ /?* 是指根目录所有以疑问号开头的网页,/代表根目录,意思是不允许爬取该网站根目录所有以疑问号开头的网页。

    • Disallow: /pop/*.html?*
      /pop/*.html?* ”是指一种通配符,相关知识需要先学习正则表达式。

    • User-agent: EtaoSpider
      Disallow: /
      意思是名字叫EtaoSpider的爬虫禁止爬取该网站的任何网页。

    作为搜索引擎的百度,他的robots协议的规定就复杂得多:百度robots协议
    全文见本文末尾。

Robots协议的遵守方式

  • 若网站无robots协议或者robots协议为空,则默认爬虫可以爬取所有信息。

  • 网络爬虫使用Robots协议:自动或人工识别robots.txt,再进行内容爬取 。

  • 约束性:Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险。

※百度robots协议全文(看最后一行你就懂了):

User-agent: Baiduspider
Disallow: /baidu
Disallow: /s?
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Googlebot
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: MSNBot
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Baiduspider-image
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: YoudaoBot
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou web spider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou inst spider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou spider2
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou blog
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou News Spider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sogou Orion spider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: ChinasoSpider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: Sosospider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh


User-agent: yisouspider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: EasouSpider
Disallow: /baidu
Disallow: /s?
Disallow: /shifen/
Disallow: /homepage/
Disallow: /cpro
Disallow: /ulink?
Disallow: /link?
Disallow: /home/news/data/
Disallow: /bh

User-agent: *
Disallow: /
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值