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 初始化多维数组代码
Sep 06 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
Apr 25 Python
python实现爬虫下载美女图片
Jul 14 Python
Python中生成Epoch的方法
Apr 26 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
Python3按一定数据位数格式处理bin文件的方法
Jan 24 Python
Python时间序列处理之ARIMA模型的使用讲解
Apr 02 Python
详解Python学习之安装pandas
Apr 16 Python
Python网络爬虫之爬取微博热搜
Apr 18 Python
Python3简单爬虫抓取网页图片代码实例
Aug 26 Python
Python OrderedDict的使用案例解析
Oct 25 Python
Python爬虫HTPP请求方法有哪些
Jun 03 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读写文件的方法(生成HTML)
2006/11/27 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
Javascript模块模式分析
2008/05/16 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
js重写方法的简单实现
2016/07/10 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
bootstrap table实例详解
2017/01/06 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
Python3 入门教程 简单但比较不错
2009/11/29 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
告诉你怎样写创业计划书
2014/01/27 职场文书
财务会计自荐信范文
2014/02/21 职场文书
班委竞选演讲稿
2014/04/28 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
运动会宣传语
2015/07/13 职场文书
致运动员赞词
2015/07/22 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书