爬虫_请求对象的定制(UA反爬)

UA介绍

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

为什么出现UA

案例代码

import urllib.request
url = 'https://www.baidu.com'

response = urllib.request.urlopen(url)
content = response.read().decode('utf-8')
print(content)

 

 虽然得到数据,但是得到的内容非常少,这是因为我们访问的https具有反爬机制,需要用到UA 

查找UA

还是以百度为例子

百度页面点击“检查”(F12)

 

 

复制代码
import urllib.request
url_pram = 'https://www.baidu.com'

# UA
headers_pram={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36'
}

#因为urlopen方法中不能存储字典,所以headers不能传递进去
#请求对象的定制
# 注意(坑) 因为参数顺序的问题 不能直接写(url_pram,headers_pram),中间还有data,所以我们需要关键字传参
request = urllib.request.Request(url=url_pram,headers=headers_pram)

response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
print(content)
复制代码

 

posted @   创客未来  阅读(145)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2021-05-20 easyui中datagrid 中添加编辑行的实现
点击右上角即可分享
微信分享提示