UA:User-agent是什么?

PC上对限制在微信客户端访问的html页面进行调试:

对这种web页面进行自动化测试:
1.将浏览器的UA(user-Agent)改为微信客户端的UA  ---》相当于利用微信客户端打开html5网页
2.如果页面有微信的OAUTH验证,需要增加Cookie来实现验证  ---》相当于登录信息,没有登录页面那些功能
只要完成以上两部应该就能操作该页面了。

User Agent中文名为用户代理,简称 UA
它是一个特殊字符串头,使得 服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

 UA:user-agent,用户代理,作用是告诉服务器,发送请求的者的身份,可以通过修改浏览器的UA模拟XXX向服务器发送请求,因为有些情况下服务器会指定请求者的身份的,
如:
1.微信自带的浏览器用pc浏览器是会提示“请利用微信客户端打开连接” ,微信服务器主要根据下面加粗的字段判断。
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 MicroMessenger/6.5.7 NetType/WIFI Language/zh_CN
主要通过 MicroMessenger 字段判断是否为微信客户端浏览器,如果有这个字段就是微信客户端浏览器

2.Python利用requests爬取某些网页时,网页服务器会通过UA判断是否是程序发来的请求,造成请求失败的,需要修改UA.
'''Chrome:
1.将浏览器的UA(user-Agent)改为微信客户端的UA  ---》相当于利用微信客户端打开html5网页
2.如果页面有微信的OAUTH验证,需要增加Cookie来实现验证  ---》相当于登录信息,没有登录页面那些功能
'''
from selenium import webdriver
from time import sleep
#设置用户代理,将浏览器的UA(user-Agent)改为微信客户端的UA
WIDTH = 320
HEIGHT = 640
PIXEL_RATIO = 3.0
UA = 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 MicroMessenger/6.5.7 NetType/WIFI Language/zh_CN'
mobileEmulation = {"deviceMetrics": {"width": WIDTH, "height": HEIGHT, "pixelRatio": PIXEL_RATIO}, "userAgent": UA}
options = webdriver.ChromeOptions()
options.add_experimental_option('mobileEmulation', mobileEmulation)
driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
driver.get('http://n.weixin12315.com/index.aspx?m=13715527926')
#向浏览器增加微信登录的cookies
cookie1 = {"name":"Hm_lpvt_0c07b431efa5fa4153b94126d35560e2","value":"1494083726,1494085269,1494126201"}
cookie2 = {"name":"ASP.NET_SessionId","value":"ia3yvgkxmjk2rst4jlxauf5o"}
driver.add_cookie(cookie1)
driver.add_cookie(cookie2)
#我的购物车
#driver.find_element_by_xpath("html/body/div[1]/div/div[5]/div/ul/li[3]/a").click()
#我的订单
driver.find_element_by_xpath("html/body/div[1]/div/div[5]/div/ul/li[2]/a").click()
#cookies = driver.get_cookies()
#print(cookies)
sleep(5)
driver.close()



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现随机切换User-Agent,你可以使用Python库中的fake_useragent模块和random模块。首先,你需要导入fake_useragent和random模块。然后,你可以使用fake_useragent来生成一个UserAgent对象,并使用random模块中的方法从该对象中选择一个随机的User-Agent。下面是一个示例代码: ```python import fake_useragent import random ua = fake_useragent.UserAgent() random_ua = getattr(ua, random.choice(list(fake_useragent.settings.SHORTCUTS.keys()))) print(random_ua) ``` 这段代码会打印出一个随机选择的User-Agent。 此外,你可以在爬虫中使用middleware来实现随机切换User-Agent。首先,在middleware.py文件中创建一个RandomUserAgentMiddleware类。该类的作用是在请求中随机设置User-Agent。下面是一个示例代码: ```python from fake_useragent import UserAgent class RandomUserAgentMiddleware(object): def __init__(self, crawler): super(RandomUserAgentMiddleware, self).__init__() self.ua = UserAgent() self.ua_type = crawler.settings.get("RANDOM_UA_TYPE", "random") @classmethod def from_crawler(cls, crawler): return cls(crawler) def process_request(self, request, spider): def get_ua(): return getattr(self.ua, self.ua_type) request.headers.setdefault('User-Agent', get_ua()) ``` 在这个示例代码中,RandomUserAgentMiddleware类继承自Scrapy的Middleware类,并重写了process_request方法来设置请求的User-Agent。在设置User-Agent时,它使用了之前生成的UserAgent对象,并根据设置的ua_type随机选择一个User-Agent进行设置。 为了让Scrapy使用这个middleware,你还需要在settings.py文件中配置相应的参数。你可以在settings.py文件中添加以下代码: ```python DOWNLOADER_MIDDLEWARES = { 'your_project_name.middlewares.RandomUserAgentMiddleware': 543, } RANDOM_UA_TYPE = "random" ``` 这段代码会告诉Scrapy使用RandomUserAgentMiddleware来处理请求,并设置RANDOM_UA_TYPE参数为"random",以随机选择User-Agent。 通过以上步骤,你就可以实现随机切换User-Agent了。每次请求时,middleware都会随机选择一个User-Agent并设置到请求中。这样能够增加爬虫的隐匿性,防止被网站封禁。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [随机切换user-agent](https://blog.csdn.net/weixin_30908941/article/details/97354994)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [scrapy随机更换User-Agent](https://blog.csdn.net/weixin_42260204/article/details/81087402)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值