首页 > 其他分享 >scrapy框架的user-agent替换列表

scrapy框架的user-agent替换列表

时间:2023-09-12 17:45:44浏览次数:40  
标签:5.0 Mozilla 537.36 agent scrapy user Safari Gecko

在我们请求的时候会遇见ua反爬我们可以用一个ua的列表来更换实现反扒

class RandomUADownloaderMiddleware:

    def process_request(self, request, spider):
        ua_list = [
            "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
            "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14",
            "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)",
            "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36"
        ]
        request.headers["User-Agent"] = random.choice(ua_list)
        return None

在middlewares中自定义一个中间件

需要在settings中配置路由

DOWNLOADER_MIDDLEWARES = {
   # "scrapy_proxy.middlewares.ScrapyProxyDownloaderMiddleware": 543,"scrapy_proxy.middlewares.RandomUADownloaderMiddleware":2
}

 

标签:5.0,Mozilla,537.36,agent,scrapy,user,Safari,Gecko
From: https://www.cnblogs.com/zhangpd/p/17697376.html

相关文章

  • Jmeter ServerAgent 修改端口,linux
     编辑serverAgent.sh,在后面加上  --udp-port端口--tcp-port端口比如  参考:https://blog.csdn.net/lemon_linaa/article/details/89963904......
  • 关于intent之android.intent.action.USER_PRESENT的接收与使用
    在做解锁监听程序时,一开始采用监听屏幕SCREEN_ON和SCREEN_OFF这两个action。但奇怪的是,这两个action只能通过代码动态的形式注册,才能被监听到,使用AndroidManifest.xml完全监听不到。百度后发现这是PowerManager那边在发这个广播的时候做了限制,限制只能有register到代......
  • Spring Boot - Parameter 0 of constructor in com.example.iocdi.controller.UserCon
    问题描述如上图所示,在加入了@MapperScan注解之后就出现了这个问题。file:[src/java/config/MybatisConfig.java]@Configuration@MapperScan("com.example.iocdi")publicclassMybatisConfig{}因为这个@MapperScan注解扫描了com.example.iocdi下面所有的包,而U......
  • jwt自定义表签发、jwt多方式登录(auth的user表)
    jwt自定义表签发继承AbstractUser,直接使用自动签发token纯自己写的用户表,需要自己签发关于签发:1、通过user生成payload,jwt提供的方法,字段必须是username,传入user,返回payload2、生成token,jwt提供的方法,把payload放入token自定义表大致流程:先创建表需要什么建什......
  • jwt自定义表签发、jwt多方式登录(auth的user表)
    jwt自定义表签发models.pyfromdjango.dbimportmodelsfromdjango.contrib.auth.modelsimportAbstractUser#继承AbstractUser直接使用自动签发token#纯自己写的用户表,需要自己签发classUser(models.Model):username=models.CharField(max_length=32)......
  • jwt自定义表签发, jwt 多方式登录(auth的user表)
    1jwt自定义表签发1.1models.pyfromdjango.dbimportmodelsfromdjango.contrib.auth.modelsimportAbstractUser#继承AbstractUser直接使用自动签发token#纯自己写的用户表,需要自己签发classUser(models.Model):username=models.CharField(max_leng......
  • rdma-mr内核接口rxe_reg_user_mr
    描述:注册用户内存区域【通过IB_USER_VERBS_CMD_REG_MR】根据type流程:a)    类型转换为rxe类型b)   验证mr_typec)    申请rxe_mem:mr=rxe_alloc(&rxe->mr_pool);d)   为mr分配索引:rxe_add_index(mr)e)    对对象进行引用:rxe_add_ref(pd)f)     构成......
  • scrapy 用法
    1、创建scrapy项目:在终端Terminal运行命令:scrapystartproject【项目名称】scrapystartprojectlfj_pro PSD:\pythonProject8_scrapy>scrapystartprojectlfj_proNewScrapyproject'lfj_pro',usingtemplatedirectory'C:\Users\Administrator\AppData......
  • 解决ServerAgent-2.2.3闪退问题
    一、问题描述使用ServerAgent-2.2.3监控服务器时,每次Jmeter点击run时就会闪退,错误日志如下:##AfatalerrorhasbeendetectedbytheJavaRuntimeEnvironment:##EXCEPTION_ACCESS_VIOLATION(0xc0000005)atpc=0x0000000010014ed4,pid=16744,tid=0x0000000000000......
  • Scrapy深入使用_存储
    目录Scrapy深入使用-存储scrapy的深入使用学习目标:1、了解scrapy的debug信息2、了解scrapyShell3、settings.py中的设置信息3.1为什么项目中需要配置文件3.2配置文件中的变量使用方法3.3settings.py中的重点字段和含义4、pipeline管道的深入使用4.1使用终端命令行进行存储4.2......