爬虫_请求对象的定制(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)
标签:url,反爬,request,爬虫,urllib,headers,UA,pram 来源: https://www.cnblogs.com/ckfuture/p/16292409.html