首页| 论坛| 消息
主题:关于ip代理的三个模块
北斗星发表于 2019-03-23 09:16
#!/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()
下一页 (1/2)
回帖(0):

全部回帖(0)»
最新回帖
收藏本帖
发新帖