扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在使用爬虫爬取网络数据时,如果长时间对一个网站进行抓取时可能会遇到IP被封的情况,这种情况可以使用代理更换ip来突破服务器封IP的限制。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的广东网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!随手在百度上搜索免费代理IP,可以得到一系列的网站,这里我们通过对西刺网站的抓取来举例。
通过编写一个爬虫来抓取网站上面的IP地址,端口,及类型,把这些信息存到本地。这里不做介绍。
验证代理IP是否可用。原理是使用代理IP访问指定网站,如果返回状态为200,表示这个代理是可以使用的。
# _*_ coding:utf-8 _*_ import urllib2 import re class TestProxy(object): def __init__(self): self.ip = '106.46.136.64' self.port = '808' self.url = 'http://www.baidu.com' self.timeout = 3 self.regex = re.compile(r'baidu.com') self.run() def run(self): self.linkWithProxy() def linkWithProxy(self): server = 'http://'+ self.ip + ':'+ self.port opener = urllib2.build_opener(urllib2.ProxyHandler({'http':server})) urllib2.install_opener(opener) try: response = urllib2.urlopen(self.url, timeout=self.timeout) except: print '%s connect failed' % server return else: try: str = response.read() except: print '%s connect failed' % server return if self.regex.search(str): print '%s connect success .......' % server print self.ip + ':' + self.port if __name__ == '__main__': Tp = TestProxy()
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流