本文共 2431 字,大约阅读时间需要 8 分钟。
#Python使用赤舞代理的socks5采集实例
转载:
#################################################################################
import jsonfrom time import sleepimport requests#################################################################################def MyRequestGet(url,decode,proxyIPAndPort):print("MyRequestGet({0},{1},{2})IN".format(url,decode,proxyIPAndPort))headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}rel = "";if (len(proxyIPAndPort)>0):proxies = {'http': 'socks5://ip:port','https':'socks5://ip:port'}proxies['http']="socks5://{0}".format(proxyIPAndPort)proxies['https']="socks5://{0}".format(proxyIPAndPort)#print(proxies)response = requests.get(url, proxies=proxies)rel = response.content.decode(decode);else:response = requests.get(url)rel = response.content.decode(decode);print("MyRequestGet()OUT:{0}".format(rel))return rel#################################################################################def MyGetPorxyIPAndPortFromChiWuDaiLi(phoneNumber,password):rel = "";while (True):try:path = '?';param = 'UserPhoneNumber={0}&UserPassword={1}&Count=1'.format(phoneNumber,password)url = "{0}{1}".format(path,param)stringJson = MyRequestGet(url,'utf-8',"")objectJson = json.loads(stringJson)if (objectJson['Code'] == 0):if (objectJson['Data']['State'] == 0):for index,value in enumerate(objectJson['Data']['IPs']):rel = "{0}:{1}".format(value['IP'],value['Port'])return rel;else:print(objectJson['Data']['Error'])sleep(5);else:print(objectJson['Message'])sleep(5);except Exception as err:print(err)sleep(1);return rel;#################################################################################def MyMain(phoneNumber,password):print ("MyMain() IN");while (True):#url = 'url = '#url = 'proxyIPAndPort = MyGetPorxyIPAndPortFromChiWuDaiLi(phoneNumber,password)try:while (True):if (len(proxyIPAndPort)>0):result = MyRequestGet(url,decode,proxyIPAndPort);print(result)else:print('Get Proxy IP And Port Failed!')sleep(1);except Exception as err:print(err)finally:print('do nothing')sleep(1);print ("MyMain() OUT");##################################################################################MyMain('您手机号码','密码')MyMain('13000000000','000000')#################################################################################转载于:https://blog.51cto.com/14096294/2342084