可以采取以下措施:
-
增大并发请求数
- 默认scrapy开启的并发线程为16个,可以适当进行增加。在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100。
-
提升日志等级
- 在运行scrapy时,默认日志等级为DEBUG,会有大量日志信息的输出,为了减少CPU的使用率。可以设置log输出信息为INFO、WARNING或者ERROR即可。在配置文件中编写:LOG_LEVEL = ‘INFO‘
-
禁用Cookies
- 除非必须携带cookie,则在scrapy爬取数据时可以禁止cookie从而减少CPU的使用率,提升爬取效率。在配置文件中编写:COOKIES_ENABLED = False
-
禁止重试
- 对失败的request进行重新请求会降低爬取速度,因此可以禁止重试。在配置文件中编写:RETRY_ENABLED = False
-
减少下载超时
- 如果对一个非常慢的链接进行爬取,减少下载超时可以让卡住的链接快速被丢弃,从而提升效率。在配置文件中进行编写:DOWNLOAD_TIMEOUT = 10 超时时间为10s