scrapy的setting.py和pipeline

settings

BOT_NAME = 'yangguang' # 项目名
SPIDER_MODULES = ['yangguang.spiders'] # 爬虫位置
NEWSPIDER_MODULE = 'yangguang.spiders' # 新建的爬虫在什么位置
USER_AGENT = “使用的代理”
ROBOTSTXT_OBEY = False #是否遵守robot协议
CONCURRENT_REQUESTS = 32 # 最大并发数

DOWNLOAD_DELAY = 3 #下载延迟
CONCURRENT_REQUESTS_PER_DOMAIN = 16 #每个域名的最大变化请求数
CONCURRENT_REQUESTS_PER_IP = 16 # 每个IP的最大变化请求数

COOKIES_ENABLED = False # cookies是否要开启

TELNETCONSOLE_ENABLED = False # 禁用Telnet控制台(默认启用)
DEFAULT_REQUEST_HEADERS = { #默认请求头
	'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
	'Accept-Language': 'en',
}
SPIDER_MIDDLEWARES = #爬虫中间件

DOWNLOADER_MIDDLEWARES = #下载中间件

EXTENSIONS = #插件

ITEM_PIPELINES = #管道


在settings.py里面可以自定义变量,定义完之后在其他文件导入就可以用了。用import或者用self.settings[‘变量名’]或self.settings.get(“变量名”)。
在pipeline里面用spider代替self也行

pipeline

class JsonWritePipeline(object):
	def open_spider(self, spider): #在爬虫开启的时候执行,仅执行一次
		self.file = open(spider.settings.get("SAVE_FILE", "./temp.json"), 'w')
	def close_spider(self, spider): # 在爬虫关闭的时候执行,仅执行一次
		self.file.close()
	def process_item(self, item, spider):
		line = json.dumps(dict(item))+"\n"
		self.file.write(line)
		return item #不return的情况下,另一个权重较低的pipeline就不会获取到该item
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值