当前位置: 首页 > 编程笔记 >

Python使用scrapy采集数据时为每个请求随机分配user-agent的方法

诸葛柏
2023-03-14
本文向大家介绍Python使用scrapy采集数据时为每个请求随机分配user-agent的方法,包括了Python使用scrapy采集数据时为每个请求随机分配user-agent的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Python使用scrapy采集数据时为每个请求随机分配user-agent的方法。分享给大家供大家参考。具体分析如下:

通过这个方法可以每次请求更换不同的user-agent,防止网站根据user-agent屏蔽scrapy的蜘蛛

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

DOWNLOADER_MIDDLEWARES = {

    'scraper.random_user_agent.RandomUserAgentMiddleware': 400,

      'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None,

}

自定义useragent处理模块
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)

希望本文所述对大家的Python程序设计有所帮助。

 类似资料:
  • 我正试图让盖特林为每个POST请求创建随机数据。我关注了stackoverflow和其他地方的一些帖子。我想出了这个方案- 然而,当我运行这段代码时,它只调用我的feeder一次,以创建一个UUID,并在整个负载测试中重新使用相同的UUID。 在遵循这条线索之后,我创建了上面的代码。我用的是加特林2.2.5。这是我的sbt配置-

  • 本文向大家介绍Python使用scrapy采集时伪装成HTTP/1.1的方法,包括了Python使用scrapy采集时伪装成HTTP/1.1的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用scrapy采集时伪装成HTTP/1.1的方法。分享给大家供大家参考。具体如下: 添加下面的代码到 settings.py 文件 保存以下代码到单独的.py文件 希望本文所述对大家的

  • 本文向大家介绍Python使用scrapy采集数据过程中放回下载过大页面的方法,包括了Python使用scrapy采集数据过程中放回下载过大页面的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用scrapy采集数据过程中放回下载过大页面的方法。分享给大家供大家参考。具体分析如下: 添加以下代码到settings.py,myproject为你的项目名称 自定义限制下载过大

  • 我对所有这些异步/多线程lib和本地clojure功能感到迷茫。 我有一个Web服务,它调用外部API,转换它响应,然后回馈给客户端。现在是用Python编写的。我想让每个客户端在单独的线程中执行其请求,这样它们就不会等待彼此完成,或者服务器是异步的。不涉及繁重的计算,只需等待IO。 我原以为使用clojure会很容易,但是我忽略了一些东西...Aleph是异步服务器吧?然而,当我在请求处理程序中

  • 问题内容: 我希望将一列附加到我的表中,该列将是从顺序列表=到行数的随机数。 因此,如果我的表有 999行 ,则 数字1到999将被随机且唯一地分配 。 现在,我想到可以添加一个虚拟的TempRandomColumn = Rand(),然后对其进行排序,然后使用PHP依次添加数字。但这意味着999条MySQL语句。 有没有办法使用单个MySQL语句来做到这一点? 感谢您的指导。 问题答案:

  • 怎么用python来采集temu.com的商品数据,有什么反爬措施,怎么破解? 怎么用python来采集temu.com的商品数据,有什么反爬措施,怎么破解?