scrapy中间件为每个请求设置一个随机用户代理。

scrapy-random-useragent的Python项目详细描述


你的小蜘蛛被服务器识别和阻止是因为 您使用默认的用户代理还是通用的用户代理?

使用这个random_useragent模块并为 每一个请求。你只受 在文本文件中设置的用户代理。

安装

安装非常简单。

pipinstallscrapy-random-useragent

用法

settings.py文件中,更新DOWNLOADER_MIDDLEWARES 像这样变化无常。

DOWNLOADER_MIDDLEWARES={'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware':None,'random_useragent.RandomUserAgentMiddleware':400}

这将禁用默认的UserAgentMiddleware,并启用 RandomUserAgentMiddleware

然后,创建一个新变量USER_AGENT_LIST,其中包含 包含所有用户代理列表的文本文件 (每行一个用户代理)。

USER_AGENT_LIST="/path/to/useragents.txt"

现在,来自爬虫程序的所有请求都将有一个随机的用户代理 从文本文件中选取。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用户界面如何在JavaGUI中为按钮创建各种颜色?   使用MSCAPI的RSA密钥包装的java使用   java Spring数据Redis JedisConnectionException:意外的流结束   java饼图未显示预期输出   java hystrixCommand注释commandKey的用途是什么   windows java可以从cmd运行jar,但不能通过双击来运行   java在单击按钮时遍历XML节点   java试图使用日期(int,int,int)构造函数   带有Buildship 2子项目的java不作为项目依赖项链接   java jsonrpc4j:如何从服务器获取列表<SomeObject>?   用于Java应用程序的内存设置MaxDirectMemory和MaxHeapMemory   java如何从以下类型格式化日期   javayoutube。搜索列表搜索不返回任何内容   java My参数在方法中不起作用,因为泛型存在问题   java如何将Map<Key1Type,Val1Type>转换为Map<Key1Type,Val2Type>   JavaJUnit测试:测试用例的改进,测试数组列表的长度?   java如何在Android中解析带有属性值的xml数据?   使用Hibernate对枚举类型进行Java8bean验证