使用代理服务器爬取网站

原因:有时使用同一个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))
如果程序错误,可以考虑是代理服务器失效,在实际中可考虑多个代理服务器轮流进行爬取,若失效就自动替代为其他代理服务器,再进行爬取。

猜你喜欢

转载自blog.csdn.net/SteveForever/article/details/81193334
今日推荐