日志等级
- ERROR:一般错误
- WARNING:警告
- INFO:一般信息
- DEBUG:调试信息
管理日志
在settings.py配置文件中写入如下两项配置来管理日志:
# 指定日志等级 LOG_LEVEL = 'ERROR' # 指定日志存储文件 LOG_FILE = 'log.txt' # 如果你指定了日志存储文件,则终端不再打印日志信息
爬取效率
1.增加并发
Scrapy默认开启的并发线程为32个,可以适当进行增加。
在settings.py配置文件中通过 CONCURRENT_REQUESTS 指定并发数。
2.降低日志级别
在运行Scrapy时,会有大量的日志信息输出,我们可以通过设置日志级别为INFO或ERROR来降低CPU的使用率。
在settings.py配置文件中通过 LOG_LEVEL 指定日志级别。
3.禁用cookie
如果不是真的需要cookie,可将其禁掉,从而提升CPU的使用率,提升爬取效率,默认便处于禁用状态。
在settings.py配置文件中通过 COOKIES_ENABLED 来启用或禁用cookie。
4.禁用重试
对失败的HTTP进行重新请求(重试)会减慢爬取速度,因此可以禁用重试。
在settings.py配置文件中通过 RETRY_ENABLED 来启用或禁用重试。
5.减少下载超时时间
如果对一个非常慢的链接进行爬取,减少下载超时可以让卡住的链接快速被放弃,从而提升爬取效率。
在settings.py配置文件中通过 DOWNLOAD_TIMEOUT 来指定超时的时间(秒)。
补充:指定条件结束爬虫
扫描二维码关注公众号,回复: 5132572 查看本文章
CLOSESPIDER_TIMEOUT
指定时间(秒)过后结束爬虫CLOSESPIDER_ITEMCOUNT
在抓取了指定数目的Item后结束爬虫CLOSESPIDER_PAGECOUNT
在收到了指定数目的响应后结束爬虫CLOSESPIDER_ERRORCOUNT
在发生了指定数目的错误后结束爬虫