#Python使用赤舞代理的socks5采集实例

转载:http://helpserver.chiwudaili.com/detail.aspx?id=a73406e4bdcc01ae615b649bf994bfb5

#################################################################################
import json
from time import sleep
import 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 = 'http://mainserver.chiwudaili.com:8000/api/GetProxyIPsAndPorts.ashx?';
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 = 'http://2018.ip138.com/ic.asp';decode='utf-8';
url = 'http://helpserver.chiwudaili.com/';decode='utf-8';
#url = 'https://www.baidu.com/';decode='utf-8';
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')
#################################################################################