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第三方库


热门话题
java应用程序不是在Eclipse中运行,而是在命令行中运行   swing Java图形组件问题。似乎找不到错误   我需要键盘。close();让代码正常工作?   Springboot中的java HttpSession   抽象语法树我想添加一个语句。我试图解析它,java解析器异常被抛出。如何克服它?   java Hibernate:清理会话   具有不连续子集的java划分问题   java正则表达式查找最后一个冒号后的字符串   java从SpringShell执行OS命令   Java扫描器字符串输入   java字符串索引越界异常(charAt)   java执行器服务终止被卡住   Springockito没有继承java@ContextConfiguration   java如何为一个servlet映射多个url   java安卓获取命令的stderr   java生成类型。表:数据库中的大数字   安卓 Getter Setter返回NothingJava