python实现人人自动回复、抢沙发功能


Posted in Python onJune 08, 2018

最近人人上看到有好友总是使用软件抢沙发,便决定用Python也写一个玩玩

一、状态回复表单POST

同样使用chrome开发者工具抓包

红色选择选中部分为必须提交的部分 

python实现人人自动回复、抢沙发功能

提交表单的内容

postdata = { 
    'c': content, #1  你要评论的内容 
    'owner': owner, #2 该状态的所有者ID 
    'source': source, #3 该状态的ID 
    't': 3, #4  这条不用修改 
    'requestToken': xxx, #5  上图选中部分 
    '_rtk': 'xxx', #6  上图选中部分 
  }

二、抢沙发思路

每个20s访问一下人人主页,使用BeautifulSoup抓取data-id(对应owner)、data-source(对应source)

模拟表单提交即可完成抢沙发

TARGET_ID    集合存放需要抢沙发的好友ID(data-id)

REPLY_ID      集合存放已经回复过的状态ID(data-source)

通过上述两个集合保证不重复评论,且只评论指定好友的状态

#coding=utf8 
import re 
import urllib 
import urllib2 
import time 
from bs4 import BeautifulSoup 
 
__author__ = 'SnOw' 
COOKIE = '你自己COOKIE' 
HEADERS = {'cookie': COOKIE, 
      'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36' 
} 
TARGET_ID = set(['5002986XX']) #存放需要抢沙发的好友ID 
REPLY_ID = set() 
 
def load_status(): 
  URL = 'http://www.renren.com/' 
  req = urllib2.Request(URL, headers=HEADERS) 
  page = '' 
  try: 
    page = urllib2.urlopen(req).read() 
  except: 
    print 'urlopen error' 
  soup = BeautifulSoup(page) 
  for i in soup.find_all('figure'): 
    # print i.get('data-id') 
    if i.get('data-id') in TARGET_ID: 
      owner_id = i.get('data-id') 
      source_id = i.get('data-source') 
      if source_id not in REPLY_ID: 
        auto_reply(owner_id, source_id) 
        print i.get('data-id') + ' ' + source_id 
      else: 
        print 'replyed this status' 
 
def auto_reply(owner, source): 
  url = 'http://status.renren.com/feedcommentreply.do?fin=0&ft=status&ff_id=' + str(owner) 
  content = '(shafa10) ' + time.strftime('于%H时%M分%S秒') + " ~" 
  postdata = { 
    'c': content, #1 
    'owner': owner, #2 
    'source': source, #3 
    't': 3, #4 
    'requestToken': -7683150XX, #5 自己修改 
    '_rtk': '9df56fXX', #6<span style="white-space:pre;">  </span>自己修改 
  } 
  req = urllib2.Request(url, urllib.urlencode(postdata), headers=HEADERS) 
  page = urllib2.urlopen(req).read() 
  REPLY_ID.add(source) 
 
 
while True: 
  load_status() 
  time.sleep(20) 
  print time.strftime('%H:%M:%S')

效果图

python实现人人自动回复、抢沙发功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python操作Mysql实例代码教程在线版(查询手册)
Feb 18 Python
在Python中使用zlib模块进行数据压缩的教程
Jun 26 Python
Python实现采用进度条实时显示处理进度的方法
Dec 19 Python
详解python中的 is 操作符
Dec 26 Python
Python:Scrapy框架中Item Pipeline组件使用详解
Dec 27 Python
对Python 2.7 pandas 中的read_excel详解
May 04 Python
Python操作mongodb的9个步骤
Jun 04 Python
python导入模块交叉引用的方法
Jan 19 Python
python求平均数、方差、中位数的例子
Aug 22 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
使用keras实现孪生网络中的权值共享教程
Jun 11 Python
python - asyncio异步编程
Apr 06 Python
利用Python写一个爬妹子的爬虫
Jun 08 #Python
python os用法总结
Jun 08 #Python
Python DataFrame 设置输出不显示index(索引)值的方法
Jun 07 #Python
浅谈Pandas 排序之后索引的问题
Jun 07 #Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
Jun 07 #Python
python pandas 对series和dataframe的重置索引reindex方法
Jun 07 #Python
浅谈Series和DataFrame中的sort_index方法
Jun 07 #Python
You might like
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
Python实现多线程HTTP下载器示例
2017/02/11 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题
电子专业毕业生自我鉴定
2014/01/22 职场文书
车间安全生产标语
2014/06/06 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
法制教育主题班会
2015/08/13 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python