网站页面改版,网站项目策划方案,wordpress做的网站扩展性,广州百度推广排名优化Scrapy框架之全局配置文件settings.py详解
前言
settings.py 文件是 Scrapy框架下#xff0c;用来进行全局配置的设置文件#xff0c;可以进行 User-Agent 、请求头、最大并发数等的设置#xff0c;本文中介绍 settings.py 文件下的一些常用配置
正文
1、爬虫的项目目录…Scrapy框架之全局配置文件settings.py详解
前言
settings.py 文件是 Scrapy框架下用来进行全局配置的设置文件可以进行 User-Agent 、请求头、最大并发数等的设置本文中介绍 settings.py 文件下的一些常用配置
正文
1、爬虫的项目目录名、爬虫文件名
BOT_NAMEScrapy 项目实现的 bot 的名字。用来构造默认 User-Agent同时也用来 log。 当使用 startproject 命令创建项目时其也被自动赋值。 SPIDER_MODULES爬虫文件名。
# Scrapy settings for Baidu project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
# https://docs.scrapy.org/en/latest/topics/settings.html
# https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
# https://docs.scrapy.org/en/latest/topics/spider-middleware.html
# 爬虫的项目目录名
BOT_NAME Baidu
SPIDER_MODULES [Baidu.spiders]
NEWSPIDER_MODULE Baidu.spiders2、设置USER_AGENT
USER_AGENT爬取的默认User-Agent。
# Crawl responsibly by identifying yourself (and your website) on the user-agent
# 设置USER_AGENT
USER_AGENT Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko)3、设置是否遵循robots协议(必须)
ROBOTSTXT_OBEY是否遵循 robots 协议默认为True需要设置为False 必须要设置的
# Obey robots.txt rules
# 是否遵循robots协议默认为True需要设置为False 必须要设置的
ROBOTSTXT_OBEY False4、设置最大并发量
CONCURRENT_REQUESTS最大并发量默认为16可以理解为开多少线程
# Configure maximum concurrent requests performed by Scrapy (default: 16)
# 最大并发量默认为16可以理解为开多少线程
CONCURRENT_REQUESTS 165、设置下载延迟时间
DOWNLOAD_DELAY每隔多长时间去访问一个页面(每隔一段时间发请求降低数据抓取频率)
# See also autothrottle settings and docs
# 下载延迟时间每隔多长时间去访问一个页面(每隔一段时间发请求降低数据抓取频率)
DOWNLOAD_DELAY 16、设置是否启用Cookie
COOKIES_ENABLED是否启用Cookie默认是禁用的取消注释即为开启Cookie
# 是否启用Cookie默认是禁用的取消注释即为开启Cookie
# 注释的情况禁用
# 取消注释并设置为False找settings.py中DEFAULT_REQUEST_HEADERS中的Cookies
# 取消注释并设置为True找爬虫文件中Request()方法中的cookies参数或者中间件
# COOKIES_ENABLED False7、设置请求头
DEFAULT_REQUEST_HEADERS请求头类似于requests.get()方法中 headers 参数
# Override the default request headers:
# 请求头类似于requests.get()方法中 headers 参数
DEFAULT_REQUEST_HEADERS {Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8,Accept-Language: en
}8、设置是否启用中间件
DOWNLOADER_MIDDLEWARES开启中间件项目目录名.模块名.类名:优先级(1-1000不等)
# Enable or disable downloader middlewares
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
# 开启中间件
# 项目目录名.模块名.类名:优先级(1-1000不等)
# DOWNLOADER_MIDDLEWARES {
# Baidu.middlewares.BaiduDownloaderMiddleware: 543,
# }9、设置是否启用实体管道
ITEM_PIPELINES开启管道项目目录名.模块名.类名:优先级(1-1000不等)
# Configure item pipelines
# See https://docs.scrapy.org/en/latest/topics/item-pipeline.html
# 开启管道
# 项目目录名.模块名.类名:优先级(1-1000不等)
# ITEM_PIPELINES {
# Baidu.pipelines.BaiduPipeline: 300,
# }10、设置保存日志文件及级别
LOG_LEVEL设置日志级别DEBUG INFO WARNING ERROR CARITICAL LOG_FILE设置保存日志文件名称
# 设置日志级别DEBUG INFO WARNING ERROR CARITICAL
LOG_LEVEL INFO
# 保存日志文件
LOG_FILE KFC.log11、设置数据导出编码格式
FEED_EXPORT_ENCODING设置数据导出的编码utf-8 “gb18030”
FEED_EXPORT_ENCODING utf-8 # 设置数据导出的编码utf-8 gb1803012、定义MySQL数据库相关变量
MYSQL_HOST服务器 MYSQL_USER用户名 MYSQL_PWD密码 MYSQL_DB表 CHARSET编码
# 定义MySQL数据库的相关变量
MYSQL_HOST xxxxxxxxx
MYSQL_USER xxxx
MYSQL_PWD xxxxxx
MYSQL_DB xxxxx
CHARSET utf813、定义MangoDB数据库相关变量
MANGO_HOST服务器 MANGO_PORT端口号 MANGO_DB表 MANGO_SET编码
# 定义MangoDB相关变量
MANGO_HOST xxxxxxxx
MANGO_PORT xxxxx
MANGO_DB xxxxx
MANGO_SET carset