使用随机UA发起请求
eg:
#pip install fake-useragent
# from fake-useragent import UserAgent
# 实例化一个UA
# user_agent = UserAgent()
# 获取Google浏览器的UA
# print(user_agent.chrome)
# 获取火狐浏览器的UA
# print(user_agent.firefox)
# 获取safar浏览器的UA
# print(user_agent.safari)
# 随机获取UA
print('--------------')
# print(user_agent.random)
# print(user_agent.random)
# print(user_agent.random)
# print(user_agent.random)
# print(user_agent.random)
from urllib import request
url = 'http://www.baidu.com/'
req_header = {
'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
# 构建一个request对象
req = request.Request(url,headers=req_header)
# 另外一种发起请求的方式
req.add_header('Referer','https://github.com/seaech?q=fake-useragent')
# 从请求头中取出一个请求头参数
print(req.get_header('Referer'))
#发起请求
response = request.urlopen(req,timeout=10)
print(response.status)
print(response.url)
使用不同的UA发起请求
eg:
from urllib import request
import ssl
USER_AGDNTS=[
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
]
url = 'http://www.baidu.com/'
"""
url, 请求的目标url地址
data=None,默认情况为None,表示发起的是一个get请求,不为None,则发起的是一个post请求
timeout=,设置请求的超时时间
context=None:是一个ssl值,表示忽略ssl认证
"""
# ssl._create_unverified_context()(忽略ssl证书认证)
request.urlopen(url,timeout = 10,context=ssl._create_unverified_context())
#如果请求要携带请求头,首先构建一个request对象
"""
url:发起请求的url地址
data=None, 默认情况为None,表示发起的是一个get请求,不为None,则发起的是一个post请求
headers={},设置请求头(headers对应的数据类型是一个字典)
"""
req_header = {
'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
req = request.Request(url,headers=req_header)
#根据构建的req请求对象发起请求
response = request.urlopen(req)
print(response.status)
print(response.read().decode('utf-8'))
print(response.getheaders())
print(response.getheader('Server'))
print(response.reason)
print(response.url)
网友评论