代理的使用:
首先,当我们正确爬取一个网页时,发现代码没有错误,可就是不能爬取网站。原因是有些网站设置了反爬取手段,就是知道你就是用python代码爬取该网站,设置了屏蔽。如果我们又想爬取该网站,便要我们使用代理服务了。
from urllib import request
url = "http://httpbin.org/"
headers = {
#使用代理 伪装一个火狐浏览器
"User-Agent":'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0',
"host":'httpbin.org'
}
req = request.Request(url=url,headers=headers) #发出url请求
response = request.urlopen(req) #打开req对象
print(response.read().decode("utf-8"))
from urllib import request
url = "http://httpbin.org/"
req = request.Request(url=url) #发出url请求
req.add_header(
"User-Agent",'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0'
)
response = request.urlopen(req) #打开req对象
print(response.read().decode("utf-8"))
意思就是以浏览器的身份去访问被屏蔽的网站,这样就不会被认为是python爬取的代码了