欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【爬虫】 03 模拟浏览器访问网页&使用代理池访问网页

程序员文章站 2022-05-03 20:05:33
...

 

用自己的请求头 headers (我的不可用,已做过处理)

如何找到自己的 headers ?

  1. F12 或者 开发者工具
  2. 找到 Network
  3. Name 这一栏点击一个文件
  4. 找到右侧的 Request Headers
  5. 向下滑动找到 User-Agent 即为自己的 header
  6. 再找不到就百度!!!

 

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'))

 

相关标签: python之道