- 浏览: 395090 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 1607httpclient+httpserver demo ... -
Eclipse GC log
2012-02-04 16:59 1450为了查看Eclipse GC log,需要在eclip ... -
java获取汉子首字母
2012-02-03 09:14 1547public class StringUtil { ... -
js event.keyCode
2012-02-03 09:09 1235<span style="" ... -
memcache安装
2012-02-02 12:04 1185? <blockquote> 1. ... -
C3P0配置
2012-02-02 11:34 1015cquireIncrement[3] ... -
Linux启动过程(详细说明)
2012-02-01 09:09 1605<div class="post ... -
ibatIS调用存储过程
2012-01-31 15:38 1628<p>一、ibatIS调用存储过程(调用存 ... -
Hibernate面向对象的hql语句
2012-01-11 13:14 1022Hibernate中hql条件语句的书写方式有: ? ... -
Hibernate实体对象的三种状态
2012-01-11 12:59 1301<p style="text- ... -
linux开机启动脚本的顺序
2011-12-21 15:14 1149下开机自动启动脚本所涉及的知识和方法、如下: ... -
DB2 静默安装
2011-12-21 11:59 1084<span style="color: ... -
Qt之美(一):d指针/p指针详解
2011-12-20 15:14 2023[/b]2011.11.16 [size=18px;] ... -
android手机通讯录备份还原代码
2011-12-20 11:54 2970<span style="font-f ... -
终于稍微完整的学习了一下Linux
2011-12-19 12:14 1197Linux以前也装过两次,不过几乎没去用。头几天看一些 ... -
Router路由
2011-12-19 10:54 1204Router路由:设定线的轨迹,在Connection ... -
基于记录登陆信息的防止网页暴力破解方法
2011-12-17 10:49 1455对黑客方面比较感兴趣的或者是比较熟悉的,应该知道溯雪这 ... -
成功通过DB2的700和701考试
2011-12-16 17:27 883嘿嘿,原以为比较没有信心的701考试也被俺成功的攻克了 ... -
想到目前各BLOG站点和搜索引擎的一点点缺陷
2011-12-15 15:54 899感觉无聊,就到中国博客网的首页逛了逛,想看看有没有什么 ... -
MapInfo2005年第三期电子新闻
2011-12-15 10:49 934<span lang="EN-US&q ...
相关推荐
### Python生成XML文件与字符编码理解 #### 一、Python生成XML文件 在现代Web开发中,XML(可扩展标记语言)是一种非常重要的数据交换格式。它被广泛应用于配置文件、数据传输等领域。使用Python来生成XML文件可以...
本文将详细讲解一款使用Python编写的“唐诗三百首小工具”,它结合了科技与传统文化,旨在帮助幼儿园和小学生轻松学习和欣赏唐诗,提升文学素养。 首先,我们要理解这个小工具的核心功能。它不仅具备系统语音朗读...
Python 网络测试小工具 。。。。。。。。。。
标题中的“自己写的二个python小工具,用于图片处理的”揭示了这是一份与Python编程相关的资源,其中包含了两个自定义的小程序,主要用于图片处理。这些工具可能涵盖了图像的查看、格式转换、编辑或其他与图像操作...
标题中的“python写的小东西”很可能是指一个使用Python编程语言编写的小型应用程序或脚本。Python因其简洁明了的语法和强大的功能而受到广大程序员的喜爱,尤其适合开发各种实用工具和小型项目。在这个场景中,可能...
文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具文件编码转换工具(GB2312与UTF-8转换) python写的一个小工具
【标题】"用python编写的一款小游戏,实现人狼羊菜过河" 描述了一款基于Python编程语言开发的趣味逻辑游戏。在这个游戏中,玩家需要帮助人、狼、羊和菜安全地过河,同时要确保在任何时候,狼不会与羊单独在一起...
Java到Python的转换工具,如"java2python",是一个重要的软件开发辅助工具,它能够帮助程序员将已有的Java代码转换成Python代码,以便在Python环境中执行或进行进一步的开发工作。这种转换过程涉及到多种语言特性和...
python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python...
python读写excel
初学python 分享一个小程序:python 如何写入TXT文件!
用python写的,调用cnki数据库,将查询结果进行文献格式化
综上所述,这个"Python写简单的拼图小游戏"项目涵盖了Python编程的基础知识,图像处理,GUI设计,算法运用以及用户交互等多个方面,是一个综合性的学习实践项目。通过完成这个项目,开发者不仅可以掌握Python编程...
python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip ...
【Python小游戏】是一种利用Python编程语言以及其游戏开发库Pygame构建的小型应用程序。Python以其简洁易懂的语法和丰富的库支持,成为了初学者和专业开发者制作游戏的热门选择。Pygame是Python的一个模块集合,提供...
运用python写个二维码
python代码写的切割影像小工具箱。。。。。。。。。。。。
一个简单到不能再简单的小软件,随机生成一串彩票号码,相信虚拟机吧,我相信他肯定比彩票店里的机选要准,哈哈哈
python 使用 snap7 实现西门子 plc 1200的读写 地址读写