|
|
- #!/usr/bin/env python
- # coding:utf8
- # author:Z time:2018/8/16
- import random
- import pymysql
- import requests
- def get_ip():
- """
- 获取ip代理池里的ip
- :return:
- """
- connect = pymysql.Connect(
- host='127.0.0.1',
- port=3306,
- user='root',
- password='',
- db='haha',
- charset='utf8'
- )
- # connect = pymysql.Connect(
- # host='10.10.141.235',
- # port=3306,
- # user='gtcom',
- # passwd='admin@gt.com1',
- # db='big_data',
- # charset='utf8'
- # )
- sql1 = """
- select ip_address from ip_proxy
- """
- sql2 = """
- select port from ip_proxy
- """
- sql3 = """
- select type_ from ip_proxy
- """
- cursor = connect.cursor()
- sql4 = """
- select count(*) from ip_proxy
- """
- cursor.execute(sql4)
- a = cursor.fetchall() # ((0,),)
- if a[0][0] == 0: # 判断数据库是否为空
- print('没有数据')
- # 调用付费代理ip
- html = requests.get(
- 'http://webapi.http.zhimacangku.com/getip?num=1&type=1&pro=&city=0&yys=0&port=1&time=1&ts=0&ys=0&cs=0&lb=1&sb=0&pb=4&mr=1®ions=')
- pay_ip_proxy = html.text.strip()
- s_ip_proxy = pay_ip_proxy.split(':')
- ip_addresses = s_ip_proxy[0]
- ports = s_ip_proxy[1]
- type_s = 'HTTP'
- return ip_addresses,ports,type_s
- else:
- cursor.execute(sql1)
- ip_addresses = cursor.fetchall()
- # ip_address=random.choice(ip_addresses)[0]
- cursor.execute(sql2)
- ports = cursor.fetchall()
- # port=random.choice(ports)[0]
- cursor.execute(sql3)
- type_s = cursor.fetchall()
- # type_=random.choice(type_s)[0]
- return ip_addresses,ports,type_s
- ip_addresses,ports,type_s = get_ip()
- def change_ip():
- """
- 随机切换ip
- :return:
- """
- ip_address = random.choice(ip_addresses)[0]
- port = random.choice(ports)[0]
- type_ = random.choice(type_s)[0]
- proxies = {
- type_: type_ + '://' + ip_address + ':' + port
- }
- return proxies,ip_address
- def delete_ip(ip_address):
- """
- 删除无效的ip
- :param ip_address:
- :return:
- """
- connect = pymysql.Connect(
- host='123.59.74.160',
- port=3306,
- user='gtcom',
- passwd='admin@gt.com1',
- db='big_data',
- charset='utf8'
- )
- # connect = pymysql.Connect(
- # host='10.10.141.235',
- # port=3306,
- # user='gtcom',
- # passwd='admin@gt.com1',
- # db='big_data',
- # charset='utf8'
- # )
- # connect = pymysql.Connect(
- # host='localhost',
- # port=3306,
- # user='root',
- # passwd='',
- # db='haha',
- # charset='utf8'
- # )
- cursor = connect.cursor()
- sql = """
- delete from ip_proxy where ip_address='{}'
- """.format(ip_address)
- cursor.execute(sql)
- connect.commit()
- cursor.close()
- connect.close()
|