当前位置 : 主页 > 编程语言 > java >

scrapy实践之settings的配置

来源:互联网 收集:自由互联 发布时间:2022-06-23
在scrapy创建的爬虫项目中,包括了以下4个基本文件 1. items.py 2. middlewares.py 3. pipelines.py 4. settings.py items定义了需要从网页中提取的结构化信息,middlewares称之为中间价,用于对request和r


在scrapy创建的爬虫项目中,包括了以下4个基本文件

1. items.py

2. middlewares.py

3. pipelines.py

4. settings.py

items定义了需要从网页中提取的结构化信息,middlewares称之为中间价,用于对request和response请求进行封装,pipelines用于对item近一步处理,比如去重等操作,而settings则用于设置各种信息。

对于settings.py,通常由以下3种使用场景

1. 启动自定义配置

middlewares和pipelines中定义的各种元素,都需要在settings中进行设置之后,才可以启动,以下载中间件为例,配置如下

DOWNLOADER_MIDDLEWARES = {
'hello_world.middlewares.UserAgentMiddleware': 543,
'hello_world.middlewares.SeleniumMiddleware': 600,
}

包括item pipelines, download/spider middlewares等各种元件,都需要在这里进行配置。

2.  修改系统配置

scrapy中内置了很多的系统配置,我们可以在settings.py中对其进行修改,比如修改默认的request headers, 用法如下

DEFAULT_REQUEST_HEADERS = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
}

系统配置很多,可以根据需要进行设置。

3. 自定义信息

对于自定义的常量,可以在settiings中进行设置,方便全局使用,比如定义如下的用户代理池

UA_POOL = [
'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/31.0.842.0 Safari/535.2',
'Mozilla/5.0 (Windows NT 5.2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/32.0.813.0 Safari/535.1'
'Mozilla/5.0 (Windows 95) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/43.0.887.0 Safari/533.2'
'Mozilla/5.0 (Windows NT 5.0) AppleWebKit/536.0 (KHTML, like Gecko) Chrome/34.0.885.0 Safari/536.0',
]

定义之后,在下载中间件中,可以通过如下方式来使用

class UserAgentMiddleware(object):

def process_request(self, request, spider):
request.headers['User-Agent'] = random.choice(spider.settings['UA_POOL'])

通过类似字典的方式来访问settings.py中定义的系统常量。熟练掌握settings的配置功能,是玩转scrapy框架的基础。

·end·

scrapy实践之settings的配置_safari

一个只分享干货的

生信公众号






【文章转自台湾大带宽服务器 http://www.558idc.com/tw.html提供,感恩】
上一篇:给你的热图挑选一个合适的渐变色
下一篇:没有了
网友评论