原因:有时使用同一个ip去爬取同一个网站上的网页,久了之后会被网站服务器屏蔽。使用代理服务器就可以“瞒天过海,暗渡陈仓”。
1、寻找代理服务器:
(1)网上百度(2)http://yum.iqianyue.com/proxy(尽量寻找验证时间比较短的)
2、格式为:
“网址:端口号”,例如:“202.75.210.45:7777” 3、程序: def use_proxy(proxy_addr,url): import urllib.request 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') return data proxy_addr="202.75.210.45:7777" data=use_proxy(proxy_addr,"http://www.baidu.com") print(len(data)) 如果程序错误,可以考虑是代理服务器失效,在实际中可考虑多个代理服务器轮流进行爬取,若失效就自动替代为其他代理服务器,再进行爬取。