短小无比的前言:
代理对于爬虫来说可是很重要的一环,尤其在对于大量数据的时候,一不小心自己ip挂了,要么你换网,要么你等个几小时恢复
之后你上网查阅了种种办法,跨越种种艰难险阻,数以堆计的bug终于修复完成之后,惨烈的发现,不知如何调用为好,嗯,没事,它来了,简单到只需要把ip汇总到一个txt文件里,直接复制文件位置粘贴,import导入即可,可谓雪中送炭,三急送厕纸啊
~~~
默认一个ip使用80次之后换下一条,各位有需要的也可自行更改
源码附上:
import linecache
import random
import timeuse_nums = 1# 行数总数
a = len(open('你的ip.txt', 'r',encoding='utf-8').readlines())used_num = 2def rand_ip():global use_nums, used_numuse_nums += 1if use_nums > 80: # 一条ip使用80次就换掉# 随机抽取一条ipi2 = linecache.getline('你的ip.txt',random.randint(1, a)).strip()use_nums = 0used_num += 1# 判断依据,当前已用数量(used_num)和ip总量(a)if used_num == a - 1:print('ip即将宕机...请注意!!!')print('ip即将宕机...请注意!!!')print('ip即将宕机...请注意!!!')time.sleep(2)print('ip即将宕机...请注意!!!')print('ip即将宕机...请注意!!!')print('ip即将宕机...请注意!!!')else: # 否则从开始累加i2 = linecache.getline('你的ip.txt',used_num).strip()proxies = {'http': 'http://' + i2,'https': 'https://' + i2}return proxiesif __name__ == '__main__':while 1:print(rand_ip())time.sleep(0.1)
小小声明:
莫要太过在于我的”算法”
细心的友友们应该有发现,如果调用的程序中断了,之后重新开始运行,本模块并不会按之前断点时调用的ip来走,而是会重新从第一个开始,这个还没想如何解决,欢迎各位讨论