反爬 请求对象的定制(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)
posted @ 2023-03-30 20:29  爱吃清蒸抱腌鱼的景斯  阅读(24)  评论(0)    收藏  举报