代理服务器:是一个处于我们与互联网中间的服务器,如果使用代理服务器,
我们浏览信息的时候,先向代理服务器发出请求,然后又代理服务向互联网获取信息,再返回给我们
使用代理服务器进行信息爬取,可以很好的解决IP限制的问题
就像爬取微信的时候,如果使用自己的IP地址去爬取的话,你会发现你的IP将被微信给封了(亲测)
所以需要使用代理IP和伪装浏览器去爬取,这儿只先说怎么使用代理服务器
先上一个网址,包含许多免费的代理IP服务器,当然也能够购买。
http://www.xicidaili.com/
毕竟使用免费的当然会出现无法使用500等错误,怎么解决? 换一个IP地址和端口号呗~ ~ 或者进行购买(一般到公司会去购买)~ ~
然后 直接上代码
import urllib.request import urllib.error def use_proxy(url,proxy_addr): proxy = urllib.request.ProxyHandler({"http":proxy_addr}) opener = urllib.request.build_opener(proxy,urllib.request.HTTPHandler) #第二个参数默认为urllib.request.HTTPHandler urllib.request.install_opener(opener) data = urllib.request.urlopen(url).read().decode("utf-8","ignore") return data proxy_addr = "219.138.58.235:3128"#这个IP是当时测试时候用的,自己更换就行 url = "http://www.baidu.com" data = use_proxy(url,proxy_addr) print(len(data))
以后写代码需要使用代理服务器的时候完全就可以直接使用这个自定义函数或者使用其中的语句