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 相关文章推荐
Hadoop中的Python框架的使用指南
Apr 22 Python
Python中列表元素转为数字的方法分析
Jun 14 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
Jul 13 Python
python实现rsa加密实例详解
Jul 19 Python
Python基于动态规划算法解决01背包问题实例
Dec 06 Python
Python实现的简单计算器功能详解
Aug 25 Python
Python实现高斯函数的三维显示方法
Dec 29 Python
更新修改后的Python模块方法
Mar 03 Python
如何使用Python 打印各种三角形
Jun 28 Python
python exit出错原因整理
Aug 31 Python
详解numpy.ndarray.reshape()函数的参数问题
Oct 13 Python
Python读写csv文件流程及异常解决
Oct 20 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
漂亮但不安全的CTB
2006/10/09 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
js数组去重的常用方法总结
2014/01/24 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
jQuery实现菜单栏导航效果
2017/08/15 jQuery
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
小学体育组工作总结2015
2015/07/21 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
详细总结Python常见的安全问题
2021/05/21 Python
Python OpenCV实现图像模板匹配详解
2022/04/07 Python