我这里是用的www.baidu.com检测的 给主IP的数据库长度是50 (太多了不好维护)。
**4、定时检查数据库1和数据库2的爬虫ip数量,以及是否可用**
#检查ip池数量
def time_ip():
while True:
time.sleep(5)
Db.act_lenip()
#检查备用池数量
def time_ips():
while True:
time.sleep(30)
#当备用池数量小于100 再次获取
if Db.len_ips()<100:
print(‘填数据’)
Acting_ip.iplist()
#程序入口
if name == ‘main’:
t1=threading.Thread(target=time_ip)
t1.start()
t2=threading.Thread(target=time_ips)
t2.start()
t1.join()
t2.join()
**给他2个线程
Db.py**
1 #coding:utf-8
2 import redis
3 import Requestdef
4 r = redis.Redis(host=‘127.0.0.1’, port=6379)#host后的IP是需要连接的ip,本地是127.0.0.1或者localhost
5 #主ip池
6 def add_ip(ip):
7 r.lpush(‘Iplist’,ip)
8 #备用ip池
9 def add_ips(ip):
10 r.lpush(‘Iplists’,ip)
11 #备用ip池第一个开始取出
12 def app_ips():
13 i=str(r.lindex(‘Iplists’,1),encoding=‘utf-8’)
14 r.lrem(‘Iplists’,i,num=0)
15 return i
16 def len_ips():
17 return r.llen(‘Iplists’)
18 def len_ip():
19 return r.llen(‘Iplist’)
20 #第一个开始取出
21 def app_ip():
22 i=str(r.lpop(‘Iplist’),encoding=‘utf-8’)
23 return i
24 #取出从最后一个开始
25 def rem_ip():
26 i=str(r.rpop(‘Iplist’),encoding=‘utf-8’)
27 return i
28 #检查主ip池
29 def act_db():
30 for i in range(int(r.llen(‘Iplist’)/2)):
31 Requestdef.inspect_ip(rem_ip())
32
33 #如果ip池数量少于25个 则填满
34 def act_lenip():
35 if r.llen(‘Iplist’)<25:
36 print(‘填ip’)
37 while r.llen(‘Iplist’)<=50:
38 Requestdef.inspect_ip(app_ips())
**5、调用端口 使用flask库创建接口**
1 from flask import Flask
2 import Db
3
4 app = Flask(name)
5
6 @app.route(‘/’, methods=[‘GET’])
7 def home():
8 return ‘What is?’
9
10 @app.route(‘/get’, methods=[‘GET’])
11 def homsse():
12 return Db.app_ip()
13 #线程池数量
14 @app.route(‘/count’, methods=[‘GET’])
15 def homsssse():
16 return str(Db.len_ip())
17 app.run(debug=True)
**就完成了**
![在这里插入图片描述](https://img-blog.csdnimg.cn/fb5bdb6292804855a1333004dce4f19b.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/43de801a37724f4ea97b840f3a278a7c.png#pic_center)
**运行api**
![在这里插入图片描述](https://img-blog.csdnimg.cn/2c87b2f2f30849c6b6610a4ca778a482.png#pic_center)
数据库里面的 Iplist为主Ip池 iplist 为备用ip池。
用get调用 用一次就删一个。
### 关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,Python自动化测试学习等教程。带你从零基础系统性的学好Python!
>
> 👉[[[CSDN大礼包:《python安装包&全套学习资料》免费分享]]]( )(**安全链接,放心点击**)
>
>
>
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b2ac98e1fe584e19bb0fb91815c87a21.png#pic_center)
#### 一、Python大礼包
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/fad4fb591a794d90ae9714897bc4b8ad.png#pic_center)
#### 二、 **Python电子书**
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d5b19d5582374746926417792e2d15c6.png#pic_center)
#### 三、入门学习视频
![](https://img-blog.csdnimg.cn/img_convert/e0106a2ebc87d23666cd0a4b476be14d.png)
#### 四、 **Python爬虫秘笈**
如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费**学习**大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。
### 一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
![](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)
### 二、学习软件
工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
![](https://img-blog.csdnimg.cn/img_convert/8c4513c1a906b72cbf93031e6781512b.png)
### 三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
![](https://img-blog.csdnimg.cn/img_convert/eec417a3d4d977b313558a11d3c13e43.png)
### 四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
![](https://img-blog.csdnimg.cn/img_convert/ec690501ea1dbe2cb209cbf4013c2477.png)
![](https://img-blog.csdnimg.cn/img_convert/3eaeaa6747419c9d86c72e0d10d0a6a2.png)
### 四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
![](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)
### 五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
![](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)
成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**