- 浏览: 397032 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (285)
- test (0)
- 分类 (1)
- java (281)
- tttttttttttt (1)
- android程序复制数据库 (1)
- Hibernate 动态 HQL (1)
- java编写扑克的洗牌程序 (1)
- NIO 之 选择就绪模式 (1)
- wpo另类问题:不可轻视的蜘蛛爬行对服务器造成的负担 (1)
- haml (1)
- cvcvcvc (1)
- 开源史上最成功的8个开源产品 (1)
- XML文件转换成Word文件或者Excel文件 (1)
- 一些利用开源浏览器核心开发专用浏览器的连接 (1)
- 毛笔效果简单思路 (1)
- 年终考评以后 (1)
- RFC821 简单邮件传输协议(SMTP)中文定义文档 (1)
- JNI中jstring类型与c语言中的字符串的转换 (1)
- 极限编程(XP)的重构与设计模式 (1)
- MapInfo2005年第三期电子新闻 (1)
- 想到目前各BLOG站点和搜索引擎的一点点缺陷 (1)
- 成功通过DB2的700和701考试 (1)
- 基于记录登陆信息的防止网页暴力破解方法 (1)
- Router路由 (1)
- 终于稍微完整的学习了一下Linux (1)
- android手机通讯录备份还原代码 (1)
- Qt之美(一):d指针/p指针详解 (1)
- DB2 静默安装 (1)
- linux开机启动脚本的顺序 (1)
- Hibernate实体对象的三种状态 (1)
- Hibernate面向对象的hql语句 (1)
- ibatIS调用存储过程 (1)
- Linux启动过程(详细说明) (1)
- C3P0配置 (1)
- memcache安装 (1)
- js event.keyCode (1)
- java获取汉子首字母 (1)
- Eclipse GC log (1)
- java轻量级httpserver (1)
最新评论
-
smilea001:
我知道了,作者采用的是gbk编码,我采用的是utf-8编码,
java获取汉子首字母 -
smilea001:
我输入的也是--
java获取汉子首字母 -
di1984HIT:
写的不错啊。
Router路由 -
kaixinyou:
...
2011.07.20——— android 获得当前view在屏幕的坐标 -
zhengjianbo:
你好,可以将你的实现代码公布下吗!万分感谢!
毛笔效果简单思路
[size=small;] 其实原理很简单,首先用firfox的插件httpfox来获取登录、查看菜地和偷菜的http请求,再使用python的urllib来模拟发送http请求,对回应数据进行分析,就ok了。[/size]
[size=small;] 第一步:登录[/size]
[size=small;] 第二部:进入花园,获取verify代码[/size]
[size=small;] 第三步:查看有成熟菜的好友列表[/size]
[size=small;] 第四步:查看某个好友的菜地信息[/size]
[size=small;] 第五步:开偷[/size]
[size=small;] 代码如下:[/size]
[size=small;]
</font>[/size]
[size=small;] [/size]
[size=small;]使用方法:[/size]
[size=small;]1、下载安装python3.1[/size]
[size=small;]2、保存上边的文本为farm.py[/size]
[size=small;]3、命令行下敲入[/size]
[size=small;];farm.py 开心网用户名 开心网密码 要偷的菜的列表(半角逗号分割)[/size]
[size=small;] 第一步:登录[/size]
[size=small;] 第二部:进入花园,获取verify代码[/size]
[size=small;] 第三步:查看有成熟菜的好友列表[/size]
[size=small;] 第四步:查看某个好友的菜地信息[/size]
[size=small;] 第五步:开偷[/size]
[size=small;] 代码如下:[/size]
[size=small;]
#-*- coding:utf-8 -*-import urllibimport socketimport http.cookiejar import randomimport timeimport sysclass farm: cj = http.cookiejar.cookiejar() is_login = false user = "" password = "" verify = "" steal_list = [] def __init__(self,user,password,steal_list): self.user = user self.password = password self.steal_list = steal_list.split(",") def login(self): url = "http://www.kaixin001.com/login/login.php"; opener = urllib.request.build_opener(urllib.request.httpcookieprocessor(self.cj)) print("正在登陆开心网....") f = opener.open(url,"url=/home/&email=" + self.user + "&password=" + self.password) f.read() url = "http://www.kaixin001.com/!house/garden/index.php" print("正在进入农场....") f = opener.open(url) data = f.read() idx = str(data).find("var g_verify = \""); if idx == -1: return idx2 = str(data).find("\"",idx + 18) if idx2 == -1: return is_login = true self.verify = str(data)[idx+16:idx2] print("获取key=" + self.verify) def _havest_one(self,farm_num,fuid): if self.verify == "": print("用户尚未登录!") return opener = urllib.request.build_opener(urllib.request.httpcookieprocessor(self.cj)) url = "http://www.kaixin001.com/!house/!garden/havest.php?farmnum=" + farm_num + "&seedid=0&fuid=" + fuid + "&r=" + str(random.uniform(0,1)) f = opener.open(url) data = str(f.read().decode("utf-8")) if not self.validate(data) : self.login() return index1 = data.find("<ret>") index2 = data.find("</ret>") result = data[index1+5:index2] if result == "succ": name = data[data.find("<seedname>")+10:data.find("</seedname>")] if fuid != "0": print("★★☆☆成功偷了id(" + fuid + ")家的" + name + "!★★☆☆") else: print("★★☆☆成功收获了自己的" + name + "!★★☆☆") else: index1 = data.find("<reason>") index2 = data.find("</reason>") reason = data[index1+8:index2] if fuid != "0": print("!!!!偷id(" + fuid + ")家的菜失败,失败原因:" + reason + "!") else: print("!!!!收获自己家的菜失败,失败原因:" + reason + "!") time.sleep(3) def validate(self,str): if str.find("您需要登录后才能继续浏览或操作") != -1: return false return true def havest(self,fuid): if self.verify == "": print("用户尚未登录!") return opener = urllib.request.build_opener(urllib.request.httpcookieprocessor(self.cj)) url = "http://www.kaixin001.com/!house/!garden/getconf.php?verify=" + self.verify + "&fuid=" + fuid + "&r=" + str(random.uniform(0,1)) f = opener.open(url) data = f.read() result = str(data.decode("utf-8")) if not self.validate(result) : self.login() return index = result.find("<farmnum>") name = result[result.find("<name>")+6:result.find("</name>")] while index != -1: index2 = result.find("</farmnum>",index) num = result[index+9:index2] index3 = result.find("<cropsstatus>",index) index4 = result.find("</cropsstatus>",index) if index3 == -1 or index4 == -1: index = result.find("<farmnum>",index+10) continue status = result[index3+13:index4] status_str = "状态未知(" + status + ")"; if status == "1": status_str = "未成熟" if status == "2": status_str = "已成熟" if status == "3": status_str = "没东西" index3 = result.find("<name>",index) index4 = result.find("</name>",index) fname = "未知" if index3 != -1 and index4 != -1: fname = result[index3+6:index4] print(name + "的第" + num + "块地[" + fname + "]" + status_str) #成熟的 if status == "2": flag = false for f in self.steal_list: if f == fname : self._havest_one(num,fuid) flag = true if not flag: print("●●○○" + fname + "太便宜了,不偷!!!!") index = result.find("<farmnum>",index+10) def friend_list(self): opener = urllib.request.build_opener(urllib.request.httpcookieprocessor(self.cj)) url = "http://www.kaixin001.com/!house/!garden/getfriendmature.php?verify=" + self.verify + "&r=" + str(random.uniform(0,1)) f = opener.open(url) data = f.read() result = str(data.decode("utf-8")) index = result.find("\"uid\":") while index != -1: index2 = result.find(",",index) uid = result[index+6:index2] index3 = result.find("\"realname\":",index) index4 = result.find(",",index3) if index3 == -1 or index4 == -1: index = result.find("\"uid\":",index+3) continue name = result[index3+11:index4] print("uid=" + uid + ",name=" + name) self.havest(uid) time.sleep(5) index = result.find("\"uid\":",index+3) f = farm(sys.argv[1],sys.argv[2],sys.argv[3])f.login()while true: f.havest("0") time.sleep(10) f.friend_list() time.sleep(10)<font size="3">
</font>[/size]
[size=small;] [/size]
[size=small;]使用方法:[/size]
[size=small;]1、下载安装python3.1[/size]
[size=small;]2、保存上边的文本为farm.py[/size]
[size=small;]3、命令行下敲入[/size]
[size=small;];farm.py 开心网用户名 开心网密码 要偷的菜的列表(半角逗号分割)[/size]
发表评论
-
java轻量级httpserver
2012-02-08 11:48 1625httpclient+httpserver demo ... -
Eclipse GC log
2012-02-04 16:59 1464为了查看Eclipse GC log,需要在eclip ... -
java获取汉子首字母
2012-02-03 09:14 1556public class StringUtil { ... -
js event.keyCode
2012-02-03 09:09 1246<span style="" ... -
memcache安装
2012-02-02 12:04 1199? <blockquote> 1. ... -
C3P0配置
2012-02-02 11:34 1023cquireIncrement[3] ... -
Linux启动过程(详细说明)
2012-02-01 09:09 1614<div class="post ... -
ibatIS调用存储过程
2012-01-31 15:38 1639<p>一、ibatIS调用存储过程(调用存 ... -
Hibernate面向对象的hql语句
2012-01-11 13:14 1030Hibernate中hql条件语句的书写方式有: ? ... -
Hibernate实体对象的三种状态
2012-01-11 12:59 1311<p style="text- ... -
linux开机启动脚本的顺序
2011-12-21 15:14 1156下开机自动启动脚本所涉及的知识和方法、如下: ... -
DB2 静默安装
2011-12-21 11:59 1101<span style="color: ... -
Qt之美(一):d指针/p指针详解
2011-12-20 15:14 2047[/b]2011.11.16 [size=18px;] ... -
android手机通讯录备份还原代码
2011-12-20 11:54 2980<span style="font-f ... -
终于稍微完整的学习了一下Linux
2011-12-19 12:14 1203Linux以前也装过两次,不过几乎没去用。头几天看一些 ... -
Router路由
2011-12-19 10:54 1222Router路由:设定线的轨迹,在Connection ... -
基于记录登陆信息的防止网页暴力破解方法
2011-12-17 10:49 1460对黑客方面比较感兴趣的或者是比较熟悉的,应该知道溯雪这 ... -
成功通过DB2的700和701考试
2011-12-16 17:27 901嘿嘿,原以为比较没有信心的701考试也被俺成功的攻克了 ... -
想到目前各BLOG站点和搜索引擎的一点点缺陷
2011-12-15 15:54 907感觉无聊,就到中国博客网的首页逛了逛,想看看有没有什么 ... -
MapInfo2005年第三期电子新闻
2011-12-15 10:49 943<span lang="EN-US&q ...
相关推荐
### Python生成XML文件与字符编码理解 #### 一、Python生成XML文件 在现代Web开发中,XML(可扩展标记语言)是一种非常重要的数据交换格式。它被广泛应用于配置文件、数据传输等领域。使用Python来生成XML文件可以...
期末大作业用python turtle库写的太空大战小游戏源码期末大作业用python turtle库写的太空大战小游戏源码期末大作业用python turtle库写的太空大战小游戏源码期末大作业用python turtle库写的太空大战小游戏源码期末...
在描述中提到的"Python写的Android屏幕录制工具"可能就是利用这样的库来实现的。它可能包含以下功能: 1. 连接Android设备:通过USB或Wi-Fi建立与设备的连接。 2. 开始/停止录制:发送ADB命令启动和停止屏幕录制。 ...
Python 网络测试小工具 。。。。。。。。。。
标题中的“自己写的二个python小工具,用于图片处理的”揭示了这是一份与Python编程相关的资源,其中包含了两个自定义的小程序,主要用于图片处理。这些工具可能涵盖了图像的查看、格式转换、编辑或其他与图像操作...
标题中的“python写的小东西”很可能是指一个使用Python编程语言编写的小型应用程序或脚本。Python因其简洁明了的语法和强大的功能而受到广大程序员的喜爱,尤其适合开发各种实用工具和小型项目。在这个场景中,可能...
文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具
【标题】"用python编写的一款小游戏,实现人狼羊菜过河" 描述了一款基于Python编程语言开发的趣味逻辑游戏。在这个游戏中,玩家需要帮助人、狼、羊和菜安全地过河,同时要确保在任何时候,狼不会与羊单独在一起...
用Python写的2048用Python写的2048用Python写的2048用Python写的2048用Python写的2048用Python写的2048用Python写的2048用Python写的2048用Python写的2048用Python写的2048
Python编写的Windows进程守护小工具是一款实用的软件,主要用于确保特定的Windows应用程序始终在后台运行。这个工具利用Python的强大功能,结合Windows操作系统API,实现了一个轻量级的进程监控和恢复机制。它允许...
Java到Python的转换工具,如"java2python",是一个重要的软件开发辅助工具,它能够帮助程序员将已有的Java代码转换成Python代码,以便在Python环境中执行或进行进一步的开发工作。这种转换过程涉及到多种语言特性和...
Python是一种广泛使用的高级编程语言,尤其在后端开发领域中占据着重要地位。在Python的生态系统中,编译和反编译是两个关键概念。当我们谈论"Python反编译工具",尤其是"Easy Python Decompiler",我们是在讨论将...
python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python...
python读写excel
用于研究python写界面小工具
Python编写的驱动Fuzz程序是一种用于测试驱动程序稳定性和安全性的工具,主要针对I/O控制代码(IOCTL)进行模糊测试。模糊测试,或称Fuzzing,是一种软件测试技术,通过向目标程序输入大量随机数据来发现潜在的错误...
使用Python脚本建立ArcGIS工具 ArcGIS是一个功能强大的地理信息系统(GIS),它提供了丰富的工具和功能来处理、分析和可视化地理数据。Python脚本是ArcGIS中的一种强大工具,它允许用户自定义自己的工具和模型,以...
“小蜜蜂”这个游戏相信我们小时候都玩过,这次用python写了这个小游戏,可以运行,功能完好,可以随意调整敌机以及我方发射子弹的速度和数量。
用python写的,调用cnki数据库,将查询结果进行文献格式化
python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵工具合集python实现按键精灵...