python爬取代理ip的示例

时间:2021-05-22

要写爬虫爬取大量的数据,就会面临ip被封的问题,虽然可以通过设置延时的方法来延缓对网站的访问,但是一旦访问次数过多仍然会面临ip被封的风险,这时我们就需要用到动态的ip地址来隐藏真实的ip信息,如果做爬虫项目,建议选取一些平台提供的动态ip服务,引用api即可。目前国内有很多提供动态ip的平台,普遍价格不菲,而对于只想跑个小项目用来学习的话可以参考下本篇文章。

简述

本篇使用简单的爬虫程序来爬取免费ip网站的ip信息并生成json文档,存储可用的ip地址,写其它爬取项目的时候可以从生成的json文档中提取ip地址使用,为了确保使用的ip地址的有效性,建议对json文档中的ip现爬现用,并且在爬取时对ip有效性的时间进行筛选,只爬取时长较长、可用的ip地址存储。

实现

使用平台https:///' proxy_dict = { 'http': proxy_str, 'https': proxy_str } try: start_time = time.time() response = requests.get(url, proxies=proxy_dict, timeout=5) if response.status_code == 200: end_time = time.time() print('代理可用:' + proxy_str) print('耗时:' + str(end_time - start_time)) proxies['type'] = type proxies['host'] = host proxies['port'] = port proxiesJson = json.dumps(proxies) with open('verified_y.json', 'a+') as f: f.write(proxiesJson + '\n') print("已写入:%s" % proxy_str) valid_proxy_list.append(proxy_str) else: print('代理超时') except: print('代理不可用--------------->'+proxy_str)

运行程序:

if __name__ == '__main__': for i in range(1,11): #选取前十页数据使用 proxy_list = get_all_proxy(i) time.sleep(20) print(valid_proxy_list)

生成的json文件:

以上就是python爬取代理ip的示例的详细内容,更多关于python爬取代理ip的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章