【爬虫】 03 模拟浏览器访问网页&使用代理池访问网页
程序员文章站
2022-05-03 20:05:33
...
用自己的请求头 headers (我的不可用,已做过处理)
如何找到自己的 headers ?
- F12 或者 开发者工具
- 找到 Network
- 在 Name 这一栏点击一个文件
- 找到右侧的 Request Headers
- 向下滑动找到 User-Agent 即为自己的 header
- 再找不到就百度!!!
import urllib.request
url = 'https://www.baidu.com/'
# 模拟请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/80.0.3987.132 Safari/537.6'}
# 设置一个请求体
req = urllib.request.Request(url, headers=headers)
# 发起请求
response = urllib.request.urlopen(req)
data = response.read().decode('utf-8')
print(data)
代理池法
百度搜索 user-agent
搜到的存到列表中随机使用即可
agent_list = [
'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR '
'2.0.50727; SE 2.X MetaSr 1.0)',
'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)'
]
agentStr = random.choice(agent_list)
req = urllib.request.Request(url)
# 向请求体里添加了 User-Agent
req.add_header('User-Agent',agentStr)
response = urllib.request.urlopen(req)
print(response.read().decode('utf-8'))
上一篇: 原生js实现jq的$.each()方法
下一篇: day02:java语言基础组成