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 Django(图文)
Nov 04 Python
Python NumPy库安装使用笔记
May 18 Python
python数据结构之链表详解
Sep 12 Python
python实现K最近邻算法
Jan 29 Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 Python
python生成以及打开json、csv和txt文件的实例
Nov 16 Python
Python values()与itervalues()的用法详解
Nov 27 Python
Python线程threading模块用法详解
Feb 26 Python
Python判断变量是否是None写法代码实例
Oct 09 Python
python定义具名元组实例操作
Feb 28 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 Python
Python实现列表拼接和去重的三种方式
Jul 02 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
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
PHP中phar包的使用教程
2017/06/14 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
理解Javascript_03_javascript全局观
2010/10/11 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
js中substring和substr的定义和用法
2014/05/05 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
python实现一次创建多级目录的方法
2015/05/15 Python
学习python类方法与对象方法
2016/03/15 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
keras实现多种分类网络的方式
2020/06/11 Python
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
教师实习自我鉴定
2013/12/18 职场文书
财务工作个人求职的自我评价
2013/12/19 职场文书
婚礼司仪主持词
2014/03/14 职场文书
2015年班长个人工作总结
2015/04/03 职场文书
2015大一新生军训感言
2015/08/01 职场文书
2016党校学习心得体会
2016/01/07 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
社区结对共建协议书
2016/03/23 职场文书
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers