环境:win10+Anaconda3.5+pycharm
1,加headers
from urllib import request
#导入库
url='https://www.baidu.com/'
#网址
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}
#用不同的浏览器在发送请求的时候,会有不同的 User-Agent 头。我们可以通过浏览器---F12 - Network---#Request Header---User-Agent 查看
respones = request.Request(url=url, headers=headers,)
#为request。添加一个特定的Headers,也可以request.add_header('Connection','keep-alive')添加
content=request.urlopen(respones ).read().decode('utf-8')
print(content)
2,代理
from urllib import request
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}
proxy_handler=request.ProxyHandler({'https':'180.118.241.64:61234'})
#格式必须是字典格式
opener=request.build_opener(proxy_handler)
#opener自己定义名字
respones = request.Request('https://www.baidu.com/',headers=headers )
content = opener.open(respones ).read().decode('utf-8')
#只有使用opener.open()方法发送请求才能使用自定义代理
print(content)
代理不可以使用时会抛出这个错误,可以更换其他代理
免费短期代理网站举例:
西刺免费代理 IP:http://www.xicidaili.com/
快代理免费代理:https://www.kuaidaili.com/free/inha/
全网代理 IP:http://www.goubanjia.com/
如果代理 IP 足够多,就可以像随机获取 User-Agent 一样,随机选择一个代理去访问网
站。