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实现控制台输入密码的方法
May 29 Python
python数组复制拷贝的实现方法
Jun 09 Python
详解Django缓存处理中Vary头部的使用
Jul 24 Python
深入解析Python中的集合类型操作符
Aug 19 Python
python中通过预先编译正则表达式提高效率
Sep 25 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
python3实现爬取淘宝美食代码分享
Sep 23 Python
python用match()函数爬数据方法详解
Jul 23 Python
python for循环remove同一个list过程解析
Aug 14 Python
pycharm 中mark directory as exclude的用法详解
Feb 14 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 Python
python中filter,map,reduce的作用
Jun 10 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关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
php的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
IE中createElement需要注意的一个问题
2010/07/13 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
node.js中watch机制详解
2014/11/17 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
JavaScript表单验证实现代码
2017/05/22 Javascript
学习Vue组件实例
2018/04/28 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
python实现字符串和字典的转换
2018/09/29 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
python zip()函数使用方法解析
2019/10/31 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
python 实现批量图片识别并翻译
2020/11/02 Python
如何利用python生成MD5并去重
2020/12/07 Python
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
大学毕业生通用自我评价
2014/01/05 职场文书
面包店的创业计划书范文
2014/01/16 职场文书
初级会计求职信范文
2014/02/15 职场文书
浅谈如何保证Mysql主从一致
2022/03/13 MySQL
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android