设置好代理headers = ('User-Agent',‘...’)后,
使用opener = urllib.request.biuld_opener()对象
设置好对象代理服务器:opener.addheader = [headers]
然后必须设置全局代理:urllib.request.install_opener(opener)
最后才能在urllib.request.urlopen(url).read().decode('urf-8','ignore')中使用,否则要报错
什么是代理服务器:
所谓代理服务器,是一个处于我们与互联网中间的服务器,如果使用代理 服务器,我们浏览信息的时候,先向代理服务器发出请求,然后由代理服务器向互联网获取信息,再返回给我们。
使用代理服务器进行爬取网页实战:
使用代理服务器进行信息爬取,可以很好的解决IP限制的问题。
免费代理IP地址:www.xicidaili.com
import urllib.request
def use_proxy(url,proxy_addr):
proxy = urllib.request.ProxyHandler({"http":proxy_addr})
opener = urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
data = urllib.request.urlopen(url).read().decode("utf-8",'ignore')
return data
proxy_addr = "" 112.85.169.100:9999""
url = "http://baidu.com"
data = use_proxy(url,proxy_addr)
print(data)