爬虫的分类
通用爬虫:通用爬虫是搜索引擎爬虫的重要组成部分,主要是将互联网上的网页下载到本地,再对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。
聚焦爬虫:聚焦爬虫是根据指定的需求抓取网络上指定的数据。
增量式爬虫:增量式爬虫是用来检测网站数据更新的情况,且可以将网站更新的数据进行爬取。
scarpy
定义
是一个快速的高级web抓取框架,用于抓取网站和从网页中提取结构化数据。可以用于广泛的用途,从数据挖掘到监控和自动化测试。
为爬取网站结构性数据而生,其内部集成了诸如高性能异步下载、队列、分布式、持久化等功能。
什么是框架?
就是一个具有很强通用性并且集成了很多功能的项目模板,可以应用在不同的项目需求中。 也就是说,框架是别人造好的轮子,一个项目的半成品,我们只需要拿过来编写自己的业务逻辑填空即可。
怎么学习框架?
一个新的框架只需要掌握该框架的作用及其各个功能的使用即可,就是会用就行,对于框架的底层实现和原理,在逐步进阶中慢慢深入即可。
安装scarpy
Windows系统安装
pip install twisted
pip install pywin32
pip install scrapy
Twisted 是用 Python 实现的基于事件驱动的网络引擎框架,提供了允许阻塞行为但不会阻塞代码执行的方法,比较适合异步的程序。
pywin32 主要的作用是方便 Python 开发者快速调用 Windows API的一个模块库。
注意:没这两个库 scrapy 根本安装不上
Linux和Mac系统下安装
pip install scrapy
Windows测试安装
终端输入 scrapy,执行后没有报错即安装成功:
我这里是使用了anaconda的终端来输出的,(因为我也是常使用这个虚拟环境来完成Python的使用的)
第一个scarpy项目(helloworld)
和Python的request库使用一样先分步骤:
scarpy可分为5个步骤:
- 创建项目
- 进入项目目录
- 创建爬虫文件
- 编写代码
- 执行项目
创建项目
scrapy startproject firstScrapy
进入项目目录
cd firstScrapy
创建爬虫文件
scrapy genspider baiDuwww.baidu.com
编写代码
例如创建一个名称为pachong.py的文件,将在这里编写代码
执行项目
scrapy crawl 文件名.py
查看网站的robots协议
在浏览器上面访问一个网站的时候,在网址栏中,在网站的主目录下,后面输入/robots.txt回车后即可查看 该网站的robots协议文件。
什么是robots协议
Robots协议,也被称为爬虫协议、爬虫规则或机器人协议,
是网站与搜索引擎爬虫之间的一种国际互联网道德规范。
其主要目的是保护网站数据和敏感信息,确保用户个人信息和隐私不被侵犯。
具体来说,一个网站可以通过创建一个名为robots.txt的文件
来设定哪些页面可以抓取,哪些页面不能抓取。
搜索引擎的爬虫会读取这个robots.txt文件以识别并遵守这些抓取规则。
然而,尽管这个协议被称为"robots协议",但它并没有强制执行力,
而只是一种指导性的爬取规则。