当前位置:首页 > 互联网

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

花晨月夕1年前 (2025-05-20)互联网2460

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: /

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

    • 1

    • 2

    • 3

    • 4

    • 5

    • 6

    • 7

    • 8

    • 9

    • 10

    • 11

    • 12

    • User-agent: *
      该协议将爬虫命名为User-agent,符号“ * ”代表所有,意思是所有爬虫均要遵守该协议。

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

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

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

Robots协议的遵守方式

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

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

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

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

User-agent: BaiduspiderDisallow: /baiduDisallow: /s?Disallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: GooglebotDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: MSNBotDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: Baiduspider-imageDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: YoudaoBotDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: Sogou web spiderDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: Sogou inst spiderDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: Sogou spider2Disallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: Sogou blogDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: Sogou News SpiderDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: Sogou Orion spiderDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: ChinasoSpiderDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: SosospiderDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: yisouspiderDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: EasouSpiderDisallow: /baiduDisallow: /s?Disallow: /shifen/Disallow: /homepage/Disallow: /cproDisallow: /ulink?Disallow: /link?Disallow: /home/news/data/Disallow: /bhUser-agent: *Disallow: /123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165


扫描二维码推送至手机访问。

版权声明:本文由花晨月夕发布,如需转载请注明出处。

本文链接:https://www.856syz.top/?id=6

分享给朋友:

“Python爬虫 爬虫需要遵守的规则” 的相关文章

Python Scrapy爬虫框架详解

Python Scrapy爬虫框架详解

Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架,该框架使用纯 Python 语言编写。Scrapy 框架应用广泛,常用于数据采集、网络监测,以及自动化测试等。提示:Twisted 是一个基于事件驱动的网络引擎框架,同样采用 Python 实现。Scrapy下载安装Scrapy 支持…

Python多线程爬虫详解

Python多线程爬虫详解

网络爬虫程序是一种 IO 密集型程序,程序中涉及了很多网络 IO 以及本地磁盘 IO 操作,这些都会消耗大量的时间,从而降低程序的执行效率,而 Python 提供的多线程能够在一定程度上提升 IO 密集型程序的执行效率。如果想学习 Python 多进程、多线程以及 Python GIL 全局解释器锁…

解锁Parrot OS图形界面,轻松提升你的黑客技能

解锁Parrot OS图形界面,轻松提升你的黑客技能

Parrot OS是一款基于Debian的Linux发行版,专为渗透测试、数字取证和安全审计而设计。虽然它的默认界面是命令行,但许多用户可能会发现图形界面(GUI)在执行日常任务时更为便捷。本文将指导您如何解锁Parrot OS的图形界面,并简要介绍一些可以帮助您提升黑客技能的工具。…

掌握Linux下载技巧,轻松安装软件大揭秘

掌握Linux下载技巧,轻松安装软件大揭秘

Linux操作系统因其开源、稳定和安全性高等特点,在全球范围内拥有庞大的用户群体。在Linux系统中,安装软件的方式与Windows系统有所不同,需要通过命令行进行。本文将详细介绍Linux下载技巧,帮助您轻松安装软件。…

Linux与macOS的兼容之道:跨越技术鸿沟,轻松实现系统互操作

Linux与macOS的兼容之道:跨越技术鸿沟,轻松实现系统互操作

在当今的计算机世界里,Linux和macOS作为两大主流操作系统,各自拥有庞大的用户群体。虽然它们在内核架构、文件系统、软件生态等方面存在差异,但用户往往需要在不同系统间进行数据交换和软件兼容。本文将深入探讨Linux与macOS的兼容之道,帮助用户跨越技术鸿沟,实现系统互操作。…

Linux容器镜像:打造高效灵活的轻量级应用基石

Linux容器镜像:打造高效灵活的轻量级应用基石

在当今的云计算和DevOps环境中,容器技术已经成为一种流行的应用部署方式。Linux容器镜像作为容器技术的核心组件,承载着构建、打包和分发应用的重要任务。本文将深入探讨Linux容器镜像的原理、构建方法以及在实际应用中的优势。…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。