应某位2b人士要求,代码如下(未优化,短期完成),麻烦闭住带屎嘴巴。
#coding=GB18030
import urllib.request as ur
import urllib.parse as up
import time,json
cookie=ur.HTTPCookieProcessor()
oper=ur.build_opener(cookie)
def now():
return str(time.time()*1000)[:-2]
user='xxxxxx'
passwd='xxx'
userurl=r'http://profile.baihe.com/new/BasicInfo.action?oppId='
headers={'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11'}
loginurl=r'http://passport.baihe.com/loginForXs.jsp?txtLoginEMail='+user+r'&txtLoginPwd='+passwd+r'&chkRememberMe=No&time='+now()+r'&_='+now()
def nowuser():
return r'http://cityonline.baihe.com/showOnlineList.action?jsoncallback=jsonp'+str(int(now())-500)+r'&_='+now()+r'&hashPhoto=1&gender=0&age=22&age_end=30&city_num=864201&size=25&num=25'
def getcon(url,data=None):
print(url,'\n\n')
request = ur.Request(url,data,headers=headers)
url = oper.open(request)
page=url.read().decode('GB18030','ignore')
return page
def douser(getdata):
getdata=getdata[getdata.find('(')+1:getdata.rfind(')')]
d=json.loads(getdata)
for i in d:
a=d.get(i)
if isinstance(a,dict):
print('正在访问:',a.get('city'),a.get('degree'),a.get('age'),a.get('height'),a.get('nick'),a.get('userid'))
getcon(userurl+a.get('userid'))
getcon(loginurl)
while True:
try:
d=getcon(nowuser())
douser(d)
except:
pass