`
smartzxy
  • 浏览: 201973 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

被偷无奈写个收菜外挂

阅读更多

     无聊的时候玩玩人人农场,不知不觉等级就高了,于是乎就招偷了……作为一个玩农场的程序员,不能对此束手无策的!写个收菜的程序吧,顺便练练Python!

 

     研究了一下人人网的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)

      经过测试,已经可以实现收菜功能了。接下来的任务是:定时收菜、自动定时收菜、收菜时顺便偷菜……

 

      嘿嘿,分享代码仅作为技术交流~

分享到:
评论
20 楼 showr 2010-06-20  
能写个JAVA版的学习么?
19 楼 nrxqq 2010-06-19  
实在没法看懂 本人就会一门java和javascript暂时还在学习中,请教要看懂得具备哪些知识
18 楼 04023129 2010-06-19  
楼主有空我们可以一起研究一下啊
17 楼 04023129 2010-06-19  
同道中人,呵呵我以前写了个android版本的,在手机上自动收菜,浇水,除虫,除草。用着还算好。就差偷菜了
16 楼 smartzxy 2010-06-19  
nrxqq 写道
我一直想写的可是一直写不出来 谢谢啦 我拿回去研究了

其实很简单的,分析一下wap版的农场就是了……
15 楼 nrxqq 2010-06-19  
我一直想写的可是一直写不出来 谢谢啦 我拿回去研究了
14 楼 dir_murong 2010-06-18  
不熟悉python p代码看着太费劲了
13 楼 jacky_java 2010-06-18  
只要程序,不要code
12 楼 BloodSmith 2010-06-18  
别人偷菜,您偷出了代码,境界
11 楼 smartzxy 2010-06-18  
rocwon 写道
种菜就是让人偷的,哈哈

我也觉得,写个外挂纯粹无聊找事做……
10 楼 刃之舞 2010-06-18  
我种菜搞牧场就是为了让朋友们来偷的~
9 楼 jasonling168 2010-06-18  
强人~~~~~有时也可以学习学习啊,在快乐中学习
8 楼 rocwon 2010-06-18  
种菜就是让人偷的,哈哈
7 楼 linliangyi2007 2010-06-18  
和python不熟的,飘过,没有括号,看起来忒别扭
6 楼 superdba 2010-06-18  
不要code
  只需外挂和使用教程 
 
5 楼 Qiao.Gbin 2010-06-18  
呵呵,这样子还有什么乐趣可言
4 楼 aninfeel 2010-06-17  
在gae上部署了web版的吧
3 楼 CJxixi 2010-06-17  
楼主再写个web版,偷菜外挂吧
2 楼 smartzxy 2010-06-15  
dreampuf01 写道
........又一个GEA应用.....

我看到了定时二字...

GEA是什么东东?
我昨天看了一下GAE文档,好像不支持对请求新开线程进行操作,不支持由请求触发的长时间运行的操作……好像也就没法把这外挂放GAE上运行吧~
1 楼 dreampuf01 2010-06-15  
........又一个GEA应用.....

我看到了定时二字...

相关推荐

    程序员的十大无奈

    1、有人曾说,做程序员的人,都是疯子,做长了往往入戏太深,成天与代码打交道,话都很少说,所以评论程序员们都是以后连妞都泡不到的人,我听后,我可以这样说,泡妞好比一个方法,他人是学习方法,而程序员呢,是...

    蔬菜的对话作文.doc

    另外,这个故事也反映了现实生活中对食物的处理方式,如摔破的西红柿被丢弃,而完好的黄瓜和豆角被保留,这样的情节安排增加了故事的真实感。同时,故事中运用的“红配绿,赛狗屁”这句中国俚语,不仅增加了语言的...

    古代最厉害的两对同龄人-无奈三个扎堆在了一起.txt

    古代最厉害的两对同龄人-无奈三个扎堆在了一起.txt

    WCE下ini文件的读写

    ini文件是Initialization file的缩写,即初始化文件。相信很多同行人都对它不陌生,早期的图形操作系统,如Win3.x中,各种配置多是通过ini文件来存储和...无奈之下,小生只能直接写这些函数了,这么好的东西不敢独享。

    ICO图标 非得传就传个ICO吧!无奈!

    唉,非得传就传个ICO吧!无奈! 唉,非得传就传个ICO吧!无奈!

    小学数学数学故事无奈的一枪

    标题所提示的故事“无奈的一枪”在字面上似乎描绘了一个间谍电影中的紧张场面,然而故事的内核却是一个巧妙编排的数学谜题,将数学与间谍活动的紧张气氛巧妙融合,旨在提高小学生的数学兴趣和逻辑推理能力。...

    80后的无奈

    小米主题80后的无奈破解版 放在手机里面直接导入进去就可以用了

    USB写频线驱动

    在连接设备后,用户需要安装对应的驱动程序,这通常是一个包含了所有必要文件的压缩包,例如在这个案例中,压缩包可能包含"软件E线下载.url",这是一个指向写频软件下载地址的快捷方式,用户可以通过这个链接获取...

    生活的无奈.doc

    生活的无奈.doc

    “天价虾”后宰客新套路被曝光,游客伤心无奈.doc

    近日,“天价虾”事件的余波未平,青岛又曝出新的宰客套路,让不少游客感到伤心和无奈。 所谓“天价虾”,是指一些商家利用游客对当地市场不了解的情况,通过虚假宣传、价格欺诈等手段,对消费者进行不公平的高额...

    孩子写作业慢的七个原因与对策.doc

    4. **被逼无奈——故意磨蹭**:若孩子感到被迫写作业,可能会故意拖延。对策是改变家庭氛围,让孩子感受到写作业是一种自我提升,而非强制性任务。鼓励自主学习,尊重孩子的意愿,适时给予鼓励和支持。 5. **时间...

    验证码源码

    登录的图片验证码,相对比较简单,发出了大家一起学习参考。

    多收了三五斗.ppt

    【标题】:“多收了三五斗.ppt”的解读 【描述】:本文将解析叶圣陶先生的作品《多收了三五斗》,探讨其中展现的20世纪30年代中国江南农民的生活困境。 【标签】:叶圣陶,文学,20世纪30年代,农民,社会现实 ...

    无奈的个性签名参考.doc

    无奈的个性签名参考.doc

    关于孤独无奈说说大全.doc

    关于孤独无奈说说大全.doc

    xml架构文件汉化工具

    懒人专用~~ ...曾经能用,改了改又不好用了,今天下个啥啥资源没分个被逼无奈上传个小东西换点分。 注意:程序现在不好用,下下来要自己用vs05打开修改一下才能用,用C#些的,懒得修改程序的同学就别下了~~~

    五年级语文下册 第一单元 5 偷瓜教案设计 冀教版-冀教版小学五年级下册语文教案.doc

    在这个基础上,教师将引导学生读说结合,分析人物性格特点,比如娃崽们的调皮捣蛋与李善才的无奈与悔过。教师还会特别指出文章的语言特色,让学生认识到语言的简练和乡土气息,并通过对比不同语言风格,加强学生的...

    tm01_tm01_

    【标题】"tm01_tm01_" 指的可能是一个特定的项目或程序,其中包含了与时间序列分析相关的元素。"tm01" 可能是该项目或数据集的内部标识符,用于区分不同的时间序列数据或版本。这个标题暗示了我们正在处理某种形式的...

    linux 版神舟数码客户端(官方没有个人写的)

    神舟数码客户端,无奈官方没有出linux下的客户端,自己写了个,测试环境是在吉首大学张家界校区,linux版本为,ubuntu 12.10,fedora 17,opensuse 12.1,亲测都可以正常链接,这个不能解决11点断网问题。 解压后在...

    描写生活各种无奈的语录.doc

    描写生活各种无奈的语录.doc

Global site tag (gtag.js) - Google Analytics