设为首页 收藏本站
查看: 407|回复: 0

[经验分享] python偷菜

[复制链接]

尚未签到

发表于 2017-4-24 09:14:59 | 显示全部楼层 |阅读模式
#! /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)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-368437-1-1.html 上篇帖子: python notes(1) 下篇帖子: python 生成 xml
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表