Scrapy框架中Spider的用法
Scrapy 框架中 Spider 的用法 Scrapy 框架中 Spider 的用法是指在 Scrapy 里面要抓取网站的链接配置、抓取逻辑、解析逻辑里都是在 Spider 里面去完成的。在实现 Scrapy 爬虫项目里面,最核心的就是 Spider 类了,它定义了如何爬取某个网站的流程和解析方式。 一、Spider 的运行流程 Spider 的运行流程可以分为以下几步: 1. 以初始的 URL 初始化 Request,并设置回调函数。当该 request 下载完毕并返回时,将生成 response,并作为参数传给该回调函数。 2. 在回调函数内分析返回的网页内容,返回 Item 对象或者 Request 或者一个包括二者的可迭代容器。 3. 返回的 Request 对象之后会经过 Scrapy 处理,下载相应的内容,并调用设置的 callback 函数(函数可相同)。 4. 在回调函数内,您可以使用选择器(Selectors)或者其他解析器来分析网页内容,并根据分析的数据生成 item。 5. 由 spider 返回的 item 将被存到数据库(由某些 Item Pipeline 处理)或使用 Feed exports 存入到文件中。 二、Spider 类分析 Scrapy 的 Spider 类是 Scrapy 框架的核心组件,它定义了如何爬取某个网站的流程和解析方式。Spider 类的主要属性有: 1. name:定义 spider 的名字的字符串, spider 的名字定义了 Scrapy 如何定位(并初始化)spider。 2. allow_domains:允许爬取的域名,是可选配置,不在此域名范围的链接,不会被跟进爬取。 3. start_urls:URL 列表。当没有制定特定的 URL 时,spider 将从该列表中开始进行爬取。 4. custom_settings:是一个字典,是专属于 Spider 的配置,此方法会覆盖全局的配置。 理解 Spider 类的操作方式,我们可以创建一个知乎的 Spider,通过 start_urls 的链接改成 `start_urls = ['http://www.zhihu.com/explore']`,并在 settings.py 里面加入 user-agent 信息,例如: ``` DEFAULT_REQUEST_HEADERS = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en', 'user-agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/55.0.2883.87 Safari/537.36', } ``` 然后,我们可以运行 spider 看看有什么问题,并观察返回的状态码。 通过对 Spider 类的分析和理解,我们可以更好地使用 Scrapy 框架来实现爬虫项目,并爬取我们想要的数据。
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助