【Scrapy框架日志管理及爬取效率】 -- 2019-08-09 10:11:34

原文: http://106.13.73.98/__/140/

日志等级

  • ERROR:一般错误
  • WARNING:警告
  • INFO:一般信息
  • DEBUG:调试信息

管理日志

settings.py配置文件中写入如下两项配置来管理日志:

# 指定日志等级
LOG_LEVEL = 'ERROR'

# 指定日志存储文件
LOG_FILE = 'log.txt'
# 如果你指定了日志存储文件,则终端不再打印日志信息

爬取效率


1.增加并发
Scrapy默认开启的并发线程为32个,可以适当进行增加。
settings.py配置文件中通过 CONCURRENT_REQUESTS 指定并发数。


2.降低日志级别
在运行Scrapy时,会有大量的日志信息输出,我们可以通过设置日志级别为INFOERROR来降低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 来指定超时的时间(秒)。

补充:指定条件结束爬虫

  1. CLOSESPIDER_TIMEOUT 指定时间(秒)过后结束爬虫
  2. CLOSESPIDER_ITEMCOUNT 在抓取了指定数目的Item后结束爬虫
  3. CLOSESPIDER_PAGECOUNT 在收到了指定数目的响应后结束爬虫
  4. CLOSESPIDER_ERRORCOUNT 在发生了指定数目的错误后结束爬虫

原文: http://106.13.73.98/__/140/

猜你喜欢

转载自www.cnblogs.com/gqy02/p/11325413.html