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的Scrapy爬虫框架使用代理进行采集的方法
Feb 18 Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 Python
python 环境变量和import模块导入方法(详解)
Jul 11 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
什么是Python中的顺序表
Jun 02 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
python和php学习哪个更有发展
Jun 17 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
来自phpguru得Php Cache类源码
2010/04/15 PHP
重新认识php array_merge函数
2014/08/31 PHP
跟我学Laravel之路由
2014/10/15 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
Javascript核心读书有感之词法结构
2015/02/01 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
Vue+Openlayers自定义轨迹动画
2020/09/24 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
Python下singleton模式的实现方法
2014/07/16 Python
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
python os用法总结
2018/06/08 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
Python-jenkins 获取job构建信息方式
2020/05/12 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
电子技术专业中专生的自我评价
2013/12/17 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
新郎结婚感言
2015/07/31 职场文书
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技