盗まれてしまったので,おかずの外挂けを书くわけにはいかない.
退屈な时に人间の农场を游んで、知らず知らずのうちにレベルが高くなって、そこで盗みを招きました......农场を游ぶプログラマーとして、これに対して手の施しようがありません!料理を受け取るプログラムを書きましょう.ついでにPythonの練習をしましょう.
人人網のwapページを検討し、以下のコードを書きました.
テストを経て、すでに料理を受け取る機能を実現することができます.次の任務は、定時に料理を受け取り、自動的に定時に料理を受け取り、料理を受け取るついでに料理を盗むことです.
へへへ、コードを共有するのは技術交流だけです~
人人網のwapページを検討し、以下のコードを書きました.
#! /usr/bin/env python
#coding=utf-8
import urllib2,urllib
from xml.dom import minidom
from HTMLParser import HTMLParser
LOGIN_URL='http://3g.renren.com/login.do?fx=0&autoLogin=true'
def login(user, passwd):
data=urllib.urlencode({
'origURL':'/home.do',
'email':user,
'password':passwd,
'login':'\xe7\x99\xbb\xe5\xbd\x95'
})
fd=urllib2.urlopen(LOGIN_URL,data)
return fd.read()
def getAppUrl(page):
doc=minidom.parseString(page)
appDiv=doc.getElementsByTagName('body')[0].getElementsByTagName('div')[3]
for a in appDiv.getElementsByTagName('a'):
url=a.getAttribute('href')
if url and 'apps.do' in url:
return url
else:
print ' “ ” '.decode('utf-8').encode('gbk')
def getFarmUrl(page):
doc=minidom.parseString(page)
farmDiv=doc.getElementsByTagName('body')[0].getElementsByTagName('div')[5]
for a in farmDiv.getElementsByTagName('a'):
url=a.getAttribute('href')
if url and 'appid=53429' in url:
return url
else:
print ' “ ” '.decode('utf-8').encode('gbk')
def visitUrl(url):
fd=urllib2.urlopen(url)
return fd.read()
def harvestFarm(user, passwd):
print ' '.decode('utf-8').encode('gbk')+user+\
' ……'.decode('utf-8').encode('gbk')
appurl=getAppUrl(login(user, passwd))
farmurl=getFarmUrl(visitUrl(appurl))
tp=TargetsParser()
tp.feed(visitUrl(farmurl))
linkLists= tp.getTargets()
for url in linkLists:
hlp=HarvestLinkParser()
hlp.feed(visitUrl(url))
if hlp.getHarvestLink():
visitUrl(hlp.getHarvestLink())
print ' '.decode('utf-8').encode('gbk')
class TargetsParser(HTMLParser):
def __init__(self):
self.targets=[]
HTMLParser.__init__(self)
def handle_starttag(self, tag, attrs):
if tag!='a':
return
href=[value for key,value in attrs if key=='href']
for url in href:
if 'myCropAction.php' in url or 'myTreeAction.php' in url or\
'myAnimalAction.php' in url or 'myMachineAction.php' in url:
self.targets.append('http://mapp.renren.com'+url)
def getTargets(self):
return self.targets
class HarvestLinkParser(HTMLParser):
def __init__(self):
self.link=''
HTMLParser.__init__(self)
def handle_starttag(self, tag, attrs):
if tag!='a':
return
href=[value for key,value in attrs if key=='href']
for url in href:
if 'wap,reapAllAction.php' in url:
self.link='http://mapp.renren.com'+url
def getHarvestLink(self):
return self.link
if __name__=='__main__':
userList=[('email','password')]
for u,p in userList:
harvestFarm(u,p)
テストを経て、すでに料理を受け取る機能を実現することができます.次の任務は、定時に料理を受け取り、自動的に定時に料理を受け取り、料理を受け取るついでに料理を盗むことです.
へへへ、コードを共有するのは技術交流だけです~