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实现在Linux系统下更改当前进程运行用户
Feb 04 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
python之matplotlib学习绘制动态更新图实例代码
Jan 23 Python
Python实现的求解最小公倍数算法示例
May 03 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
Jun 09 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 Python
PyQt5实现暗黑风格的计时器
Jul 29 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
没编程基础可以学python吗
Jun 17 Python
详解Python流程控制语句
Oct 28 Python
Python基本数据类型之字符串str
Jul 21 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 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
站长助手-网站web在线管理程序 v1.0 下载
2007/05/12 PHP
php GeoIP的使用教程
2011/03/09 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
常用DOM整理
2015/06/16 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
python中的一些类型转换函数小结
2013/02/10 Python
Python时间获取及转换知识汇总
2017/01/11 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
Python这样操作能存储100多万行的xlsx文件
2019/04/16 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
2015年元旦标语大全
2014/12/09 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
《我是什么》教学反思
2016/02/16 职场文书