【Python】微博自动抢红包

# -*- coding: utf-8 -*-
import requests
import js2xml
from lxml import etree
headers = {
# 这边cookie替换成你的cookie
‘Cookie‘:‘9b‘,
‘User-Agent‘: ‘Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19‘,
}
# 获取红包列表

def getuid():
    url = ‘http://chunjie.hongbao.weibo.com/hongbao2017/h5index‘
    # 带上request headers
    z = requests.get(url, headers=headers)
    #print(z.status_code)
    if z.status_code == 200:
       # 这边是查找所有的ouid
        alluid = etree.HTML(z.content).xpath(‘//div[@class="m-auto-box"]/@action-data‘)
        #print(alluid)
        #print(etree.HTML(z.content).xpath(‘/html/body/div[1]/section/div[2]/span‘))
    return alluid

def getname(url):
    #url = ‘http://hongbao.weibo.com/h5/aboutyou?groupid=1000110‘
    # 带上request headers
    z = requests.get(url, headers=headers)
    #print(z.status_code)
    if z.status_code == 200:
       # 这边是查找所有的ouid
       name=etree.HTML(z.content).xpath(‘//span[@class="nickname"]‘)
       print(name[0].text)
    return name

# 获取st的值

def getst(url):
    # 带上request headers
    z = requests.get(url, headers=headers)
    # 获取第一段JavaScript,并去掉 <!--拆包页-->,防止中文报错
    jscode = etree.HTML(z.content).xpath(
        "//script[contains(., ‘weibo‘)]/text()")[0].replace(u‘<!--拆包页-->‘, ‘‘)
    # 使用js2xml 把JavaScript代码替换成xml
    parsed_js = js2xml.parse(jscode)
    # 打印下 xml
    # print js2xml.pretty_print(parsed_js)

    # 从上面可以看到st在哪,然后用xpath写出来
    st = parsed_js.xpath(‘//property[@name="st"]/string/text()‘)[0]
    return st
# 抢红包

def tj(url, uid, st, tjheaders):
    # 生成需要发送的data
    data = {
    ‘groupid‘: ‘1000110‘,
    ‘uid‘: uid,
    ‘share‘: ‘1‘,
    ‘st‘: st
    }
    # 这里使用了post,headers增加了Referer
    z = requests.post(url, data=data, headers=tjheaders)
    #print(z.json())
    # 把得到的结果以json形式展示
    _ = z.json()
    # 如果json中有“ok”,表示提交成功了,否则返回报错信息
    #print(_[‘ok‘])
    #if _[‘ok‘]!=1:
        #print(_)
    print (_[‘data‘][‘result‘][‘name‘])
   # else:
        #print (_[‘error_code‘])
if __name__ == ‘__main__‘:
    # 得到所有的uid
    uids = getuid()
    # 获取st
    #print(st)
    url = ‘http://hongbao.weibo.com/h5/aboutyou?groupid=1000110‘
    getname(url)
    st = getst(url)
    for uid in uids:
        #print(uid)
        # 生成红包页面的url
        url = ‘http://hongbao.weibo.com/h5/aboutyou?groupid=1000110&ouid=%s‘ %uid

        # 生成点击“抢红包”页面的url
        tjurl = ‘http://hongbao.weibo.com/aj_h5/lottery?uid=%s&groupid=1000110&wm=‘ %uid
        getname(url)
        # 添加Referer,如果不添加会报错
        headers[‘Referer‘] = url
        tjheaders = headers
        try:
        # 点击“抢红包”
            tj(tjurl,uid,st,tjheaders)
        except:
            pass

  

时间: 2024-10-11 14:54:55

【Python】微博自动抢红包的相关文章

python IDLE 自动提示功能

\Python27\Lib\idlelib\目录下 config-extensions.def文件修改等待时间 [AutoComplete] enable=1 popupwait=2000(2000表示2秒,修改为0) AutoComplete.py文件修改提示模块 import os import sys import string 在后面加载待提示的模块(import方式) 如: import urllib import urllib2 import re import cookielib

Python Scrapy 自动爬虫注意细节

一.首次爬取模拟浏览器 在爬虫文件中,添加start_request函数.如: def start_requests(self): ua = {"User-Agent": 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2050.400 QQBrowser/9.5.10169.400'} yie

Android实现微信自动抢红包的程序

简单实现了微信自动抢红包的服务,原理就是根据关键字找到相应的View, 然后自动点击.主要是用到AccessibilityService这个辅助服务,基本可以满足自动抢红包的功能,但是有些逻辑需要优化,比如,拆完一个红包后,必须手动点击返回键,才能进行下一次自动抢红包. AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="h

Android&quot;挂逼&quot;修炼之行---防自动抢红包外挂原理解析

一.前言 春节过年发个红包本来就是为了讨个喜庆,朋友亲戚之间的关系交流,但是现在随着技术变革,抢红包插件越来越多,导致现在不太愿意发红包了,特别是在一个多人群里,潜水的非常多,但是丢个红包瞬间就没了,感觉真的很不爽呀,然后造成的现象就是你用插件,我也用,结果抢红包就变得没有意思了.在这里我还是觉得尽量不要用这些所谓的抢红包插件.多读些书多好呀! 二.自动抢红包插件分析 本文就来应对那些自动抢红包插件功能的防护功能,我们知道现在自动抢红包主要有着三种方式: 第一种:利用辅助功能和通知栏消息拦截来做

python vim自动补全

1.下载插件包 https://github.com/vim-scripts/Pydiction ##################### 包括三个文件 python_pydiction.vim #vim插件 complete-dict #python关键字和模块列表, pydiction.py  #python脚本,可以添加更多的模块 2.配置 #1.查看家目录下是否有.vim目录,若没有则创建. mkdir  -p  ~/.vim/after/ftplugin/pydiction #2.把

【python】自动登录51cto家园

自动登录:http://home.51cto.com 1.分析: 使用httpfox抓取手动登录home.51cto.com的过程,过程如下: 点登录,提交用户名与密码到http://home.51cto.com/index.php?s=/Index/doLogin 这个地址,正确后,他会返回的内容包含很多链接,如第二个图片.然后分别get这些链接.请求完这些链接后,再访问个人主页http://home.51cto.com/index.php?s=/Home/index post成功后服务器返回

使用AccessibilityService实现微信自动抢红包

最近要实现微信自动抢红包的功能,使用AccessibilityService来开发,这里主要写一下逻辑以及注意点. 注意点 1.搜索关键字 我们实现某个功能比如点击等需要找到对应的对象然后模拟点击事件,所以首先就是怎么样找到对象,下面说三种方式: (1)findAccessibilityNodeInfosByText通过文字来实现查找,返回的是List<AccessibilityNodeInfo>,所以需要通过for循环来具体判断需要的关键字的对象 (2)findAccessibilityNo

QQ空间自动评论自动转发 微博自动自动转发神器带源码(超简单) 升级版

//QQ空间自动评论自动转发 Dim iy Rem head iy = 0 Rem nextfind FindPic 0,iy,1366,768,"Attachment:\qqzf.bmp",0.9,intX,intY If intX > 0 And intY > 0 Then //MessageBox "aa" MoveTo intX , intY Delay 500 LeftClick 1 MoveTo 0,0 Delay 2000 SayStrin

windows下python的自动截图功能

python的自动截取特别简单(注:python的版本为2.7...) 首先安装 PIL模块,这个模块去这里(http://www.pythonware.com/products/pil/)找到你版本对应的PIL安装包, 注意你的windows是多少位的系统,这个有区别比较重要 ok,进入代码部分: # -*- coding: cp936 -*-  #如果有中文则需要增加这个说明(我的版本里如果不加这句话,每次运行都会提示自动插入这行代码) from PIL import ImageGrab