scrapy----setting配置

基础配置

#1 了解

BOT_NAME = "firstscrapy" #项目名字,整个爬虫名字

#2 爬虫存放位置 了解

SPIDER_MODULES = "firstscrapy.spiders"

NEWSPIDER_MODULE = "firstscrapy.spiders"

#3 记住 是否遵循爬虫协议,一般都设为False

ROBOTSTXT_OBEY = False

4 记住

USER_AGENT = "firstscrapy (+http://www.yourdomain.com)"

#5 记住 日志级别

LOG_LEVEL='ERROR'

#6 记住 DEFAULT_REQUEST_HEADERS 默认请求头

DEFAULT_REQUEST_HEADERS = {

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

'Accept-Language': 'en',

}

#7 记住 后面学 SPIDER_MIDDLEWARES 爬虫中间件

SPIDER_MIDDLEWARES = {

'cnblogs.middlewares.CnblogsSpiderMiddleware': 543,

}

#8 后面学 DOWNLOADER_MIDDLEWARES 下载中间件

DOWNLOADER_MIDDLEWARES = {

'cnblogs.middlewares.CnblogsDownloaderMiddleware': 543,

}

#9 后面学 ITEM_PIPELINES 持久化配置

ITEM_PIPELINES = {

'cnblogs.pipelines.CnblogsPipeline': 300,

}

高级配置(提高爬虫效率--scarpy框架)

#1 增加并发:默认16

默认scrapy开启的并发线程为32个,可以适当进行增加。在settings配置文件中修改

CONCURRENT_REQUESTS = 100

值为100,并发设置成了为100。

#2 降低日志级别:

在运行scrapy时,会有大量日志信息的输出,为了减少CPU的使用率。可以设置log输出信息为INFO或者ERROR即可。在配置文件中编写:

LOG_LEVEL = 'INFO'

3 禁止cookie:

如果不是真的需要cookie,则在scrapy爬取数据时可以禁止cookie从而减少CPU的使用率,提升爬取效率。在配置文件中编写:

COOKIES_ENABLED = False

4 禁止重试:

对失败的HTTP进行重新请求(重试)会减慢爬取速度,因此可以禁止重试。在配置文件中编写:

RETRY_ENABLED = False

5 减少下载超时:

如果对一个非常慢的链接进行爬取,减少下载超时可以能让卡住的链接快速被放弃,从而提升效率。在配置文件中进行编写:

DOWNLOAD_TIMEOUT = 10 超时时间为10s

相关推荐
云南新人和数采集团4 天前
开源项目吐槽大会:一篇技术文章的大纲设计
python·scrapy·开源
万粉变现经纪人6 天前
如何解决 pip install 安装报错 检测到 yanked 版本需更换可用版本 问题
人工智能·python·scrapy·numpy·pandas·pyqt·pip
B2_Proxy7 天前
Scrapy 代理 IP 调度进阶:基于 Redis 与中间件的高可用架构实战
python·scrapy·1024程序员节
傻啦嘿哟18 天前
天气数据爬虫:基于Scrapy爬取全国天气,做可视化大屏
c++·爬虫·scrapy
小白学大数据20 天前
拼多多反爬对抗实战:Scrapy 中间件化采集架构解析
开发语言·scrapy·中间件·架构
毕业设计70320 天前
(免费领源码)django空气净化器销售系统09218- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
python·scrapy·mysql·pycharm·django·flask·pandas
v:PLLucky201 个月前
农作物病虫害检测识别系统
深度学习·scrapy·算法·百度·微信公众平台
TomEval1 个月前
【测AI】第05篇:Python 爬虫进阶 —— 动态页面爬取与 Scrapy 框架
人工智能·爬虫·python·scrapy·自动化
Data_Journal2 个月前
使用 AutoScraper 进行网页抓取:分步教程
大数据·开发语言·数据库·python·scrapy
Data_Journal2 个月前
如何将网页抓取用于机器学习
大数据·开发语言·数据库·python·scrapy