#头条创作挑战赛#
Scrapy 初始目录说明
Scrapy 在抓取网页数据方面是非常强大的。不仅仅是因为其天生异步,而且它里面的逻辑性 也非常紧密。当用户读其源码时,会对它有更深的认识,运用起来更能得心应手。俗话说得好: 知己知彼,方能百战百胜。当一个 Scrapy 项目被成功创建时,会自动生成一些文件。例如,创建 一个 TestDemo 项目,在其项目下会出现对应的文件目录,如下图所示。
scrapy.cfg:爬虫项目的配置文件。双击“TestDemo”文件夹,展开其下的文件,如下图所示。
Scrapy 的 TestDemo 目录中各个文件的作用,如下表所示。
根据上表需要补充说明如下两点:
(1)下载中间件是介于 Scrapy 的 request/response 处理的钩子框架,是用于全局修改 Scrapy。request 和 response 的一个轻量、底层的系统。要使用下载中间件,就需要激活,要激活下载中间 件组件,将其加入 DOWNLOADER_MIDDLEWARES 设置中,需在 settings.py 中配置。当然,也 可以自己编写中间件,只要在 settings.py 中把其中的注释(#)去掉即可。
(2)同样地,要使用 Pipeline,也需要在 settings.py 中启用,把其中的注释(#)去掉即可。
Scrapy 的 settings.py 配置分析及示例
Scrapy 的 settings.py 配置分析如下表所示。
可以根据上表列出的配置项,并结合实际情况,配置出自己所需的爬虫配置。在此举例说明, 就会更直观。
例如,笔者设计的爬虫希望实现以下内容:
(1)遵循爬虫协议。
(2)支持 Cookie。
(3)一次最大发送 18 个请求。
(4)开启限速功能,爬取速度为 5 秒爬一次。
(5)启用缓存,将已经发送的请求或相应的数据保存到缓存中,以便以后使用。
对应上面的需求,笔者在 settings.py 中配置如下。
① ROBOTSTXT_OBEY = True。
② COOKIES_ENABLED = True。
③ CONCURRENT_REQUESTS = 18。
④ AUTOTHROTTLE_ENABLED = True。
⑤ AUTOTHROTTLE_START_DELAY = 5。
⑥ HTTPCACHE_ENABLED = True
页面更新:2024-05-01
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号