1. 程式人生 > >【Python】微博自動搶紅包

【Python】微博自動搶紅包

cep group web asc ror 如果 script 4.0 linu

# -*- 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"][email protected]
/* */) #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

  

【Python】微博自動搶紅包