您的位置:首页 > 其它

scrapy采集数据时为每个请求随机分配user-agent

2014-03-19 17:09 483 查看
通过这个方法可以每次请求更换不同的user-agent,防止网站根据user-agent屏蔽scrapy的蜘蛛

首先将下面的代码添加到settings.py文件,替换默认的user-agent处理模块

DOWNLOADER_MIDDLEWARES
=
{
'scraper.random_user_agent.RandomUserAgentMiddleware'
:
400
,
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware'
:
None
,
}
自定义useragent处理模块

view
source

print?

from
scraper.settings
import
USER_AGENT_LIST
import
random
from
scrapy
import
log
class
RandomUserAgentMiddleware(
object
):
def
process_request(
self
,
request,spider):
ua
=
random.choice(USER_AGENT_LIST)
if
ua:
request.headers.setdefault(
'User-Agent'
,
ua)
#log.msg('>>>>
UA%s'%request.headers)
#该代码片段来自于:http://www.sharejs.com/codes/python/8394

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: