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实现数通设备tftp备份配置文件示例
Apr 02 Python
python中遍历文件的3个方法
Sep 02 Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
Python批量修改文本文件内容的方法
Apr 29 Python
从源码解析Python的Flask框架中request对象的用法
Jun 02 Python
Python使用Shelve保存对象方法总结
Jan 28 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 Python
详解Django-channels 实现WebSocket实例
Aug 22 Python
python将图片转base64,实现前端显示
Jan 09 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
python的html标准库
Apr 29 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初学者头痛的十四个问题
2006/07/12 PHP
php随机输出名人名言的代码
2012/10/07 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
小程序实现分类页
2019/07/12 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
python基础 range的用法解析
2019/08/23 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
信息管理专业学生自荐信格式
2013/09/22 职场文书
医院护士专业个人的求职信
2013/12/09 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL
SQL SERVER实现连接与合并查询
2022/02/24 SQL Server
Python学习之异常中的finally使用详解
2022/03/16 Python
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA