从数据库中随机ip代理,并验证

import pymysql
import requests


class GetRandomIP():
    def getip(self):
        conn = pymysql.connect(host="localhost", port=3306, user="root", password="liuzhiyu", db="python77",
                               charset="utf8")
        cursor = conn.cursor()

        sql='select type,ip,port from ipcontent ORDER BY RAND() LIMIT 1'
        cursor.execute(sql)

        rows = cursor.fetchall()[0]
        type_ipaddress_port = '{}://{}:{}'.format(rows[0], rows[1], rows[2])
        print('*'*50,end='\n\n')
        print('从数据库中获取的IP为: {}'.format(type_ipaddress_port))
        self.yz_ip(rows[0],rows[1],type_ipaddress_port)
        cursor.close()
        conn.close()

    def yz_ip(self,type,ipaddress,type_ipaddress_port):
        print('验证ip: {} 是否有效:'.format(type_ipaddress_port))
        try:
            response=requests.get('http://www.baidu.com',proxies={type:type_ipaddress_port})  #proxies={'HTTP':'HTTP://106.56.102.139:8070'}
        except Exception as e:
            print('ip: {} 无效,将从数据库中删除'.format(ipaddress))
            self.del_ip(ipaddress)
        else:
            print('状态码: {} (200代表有效)'.format(response.status_code),end='\n\n')

    def del_ip(self,ip):

        conn = pymysql.connect(host="localhost", port=3306, user="root", password="liuzhiyu", db="python77",
                               charset="utf8")
        cursor = conn.cursor()
        sql = 'delete from ipcontent where ip=%s'
        cursor.execute(sql,(ip))
        conn.commit()
        print('删除ip: {} 成功'.format(ip),end='\n\n')
        cursor.close()
        conn.close()


if __name__ == '__main__':
    gr = GetRandomIP()
    while 1:
        gr.getip()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值