#!/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()

