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