反爬 请求对象的定制(ua反爬)
import urllib.request
url = 'https://www.baidu.com'
#url的组成
http/https www.baidu.com 80/443
协议 主机 端口号 路径 参数 锚点
http 80
https 443
mysql3306
oracle 1521
redis 6379
mongodb 27017
为什么给的信息很少呢,因为这就是第一个反爬我们需要ua
怎么查找ua我们需要去到浏览器右键检查找到network刷新一下页面找到第一个你的域名headers(标头)然后在右下角查找到ua,然后写一个字典形式
import urllib.request
url = 'https://www.baidu.com'
#url的组成
# https://www.baidu.com/s?wd=%E9%9B%AA%E4%B9%8B%E4%B8%8B%E9%9B%AA%E4%B9%83
# http/https www.baidu.com 80/443 s wd(?后面的东西) #
# 协议 主机 端口号 路径 参数 锚点
# http 80
# https 443
# mysql3306
# oracle 1521
# redis 6379
# mongodb 27017
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.51'
}
#因为urlopen方法中不能存储字典,所以headers不能传递进去
#请求对象的定制
# 因为参数顺序的问题所以我们不能直接写url,headers,因为中间是data数据类,所以我们需要关键字传参
request=urllib.request.Request(url=url,headers=headers)
respnse=urllib.request.urlopen(request)
content =respnse.read().decode('utf-8')
print(content)

浙公网安备 33010602011771号