爬虫_请求对象的定制(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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2021-05-20 easyui中datagrid 中添加编辑行的实现