python爬取app
『壹』 如何進行手機APP的數據爬取
python爬蟲手機的步驟:
1. 下載fiddler抓包工具
2. 設置fiddler
這里有兩點需要說明一下。
設置允許抓取HTTPS信息包
操作很簡單,打開下載好的fiddler,找到 Tools -> Options,然後再HTTPS的工具欄下勾選Decrpt HTTPS traffic,在新彈出的選項欄下勾選Ignore server certificate errors。
設置允許外部設備發送HTTP/HTTPS到fiddler
相同的,在Connections選項欄下勾選Allow remote computers to connect,並記住上面的埠號8888,後面會使用到。
好了,需要的fiddler設置就配置完成了。
3. 設置手機端
設置手機端之前,我們需要記住一點:電腦和手機需要在同一個網路下進行操作。
可以使用wifi或者手機熱點等來完成。
假如你已經讓電腦和手機處於同一個網路下了,這時候我們需要知道此網路的ip地址,可以在命令行輸入ipconfig簡單的獲得,如圖。
好了,下面我們開始手機端的設置。
手機APP的抓取操作對於Android和Apple系統都可用,博主使用的蘋果系統,在此以蘋果系統為例。
進入到手機wifi的設置界面,選擇當前連接網路的更多信息,在蘋果中是一個嘆號。然後在最下面你會看到HTTP代理的選項,點擊進入。
進入後,填寫上面記住的ip地址和埠號,確定保存。
4. 下載fiddler安全證書
在手機上打開瀏覽器輸入一個上面ip地址和埠號組成的url:http://192.168.43.38:8888,然後點擊FiddlerRoot certificate下載fiddler證書。
以上就簡單完成了所有的操作,最後我們測試一下是否好用。
5. 手機端測試
就以知乎APP為例,在手機上打開 知乎APP。下面是電腦上fiddler的抓包結果。
結果沒有問題,抓到信息包。然後就可以使用我們分析網頁的方法來進行後續的操作了。
『貳』 使用Appium爬取淘寶App數據
Appium選擇了Client/Server的設計模式,Server可以在OSX、Windows以及Linux系統上運行,Client支持Ruby、Python、Java、PHP、C#、JavaScript等語言的實現。
本教程以MacBook Pro通過Python程序控制Android系統的淘寶App為例,因為Appium依賴Android SDK,Android SDK需要Java環境,所以所需環境如下:
pc端和移動端的連接有兩種方式USB連接和無線連接
更多命令:官方教程
程序第一次運行的時候,會在手機安裝3個app,一定要同意安裝,只有Appium Settings在桌面有圖標
Android SDK官方教程
Appium官方教程
Appium新手入門
『叄』 python怎麼抓取微信閱
抓取微信公眾號的文章
一.思路分析
目前所知曉的能夠抓取的方法有:
1、微信APP中微信公眾號文章鏈接的直接抓取(http://mp.weixin.qq.com/s?__biz=MjM5MzU4ODk2MA==&mid=2735446906&idx=1&sn=&scene=0#rd)
2、通過微信合作方搜狗搜索引擎(http://weixin.sogou.com/),發送相應請求來間接抓取
第1種方法中,這種鏈接不太好獲取,而且他的規律不是特別清晰。
因此本文採用的是方法2----通過給 weixin.sogou.com 發送即時請求來實時解析抓取數據並保存到本地。
二.爬取過程
1、首先在搜狗的微信搜索頁面測試一下,這樣能夠讓我們的思路更加清晰
在搜索引擎上使用微信公眾號英文名進行「搜公眾號」操作(因為公眾號英文名是公眾號唯一的,而中文名可能會有重復,同時公眾號名字一定要完全正確,不然可能搜到很多東西,這樣我們可以減少數據的篩選工作,只要找到這個唯一英文名對應的那條數據即可),即發送請求到'http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&_sug_=n&_sug_type_= ' % 'python',並從頁面中解析出搜索結果公眾號對應的主頁跳轉鏈接。
2.獲取主頁入口內容
使用request , urllib,urllib2,或者直接使用webdriver+phantomjs等都可以
這里使用的是request.get()的方法獲取入口網頁內容
[python]view plain
#爬蟲偽裝頭部設置
self.headers={'User-Agent':'Mozilla/5.0(WindowsNT6.3;WOW64;rv:51.0)Gecko/20100101Firefox/51.0'}
#設置操作超時時長
self.timeout=5
#爬蟲模擬在一個request.session中完成
self.s=requests.Session()
#搜索入口地址,以公眾為關鍵字搜索該公眾號
defget_search_result_by_keywords(self):
self.log('搜索地址為:%s'%self.sogou_search_url)
returnself.s.get(self.sogou_search_url,headers=self.headers,timeout=self.timeout).content
#獲得公眾號主頁地址
defget_wx_url_by_sougou_search_html(self,sougou_search_html):
doc=pq(sougou_search_html)
#printdoc('p[class="tit"]')('a').attr('href')
#printdoc('div[class=img-box]')('a').attr('href')
#通過pyquery的方式處理網頁內容,類似用beautifulsoup,但是pyquery和jQuery的方法類似,找到公眾號主頁地址
returndoc('div[class=txt-box]')('p[class=tit]')('a').attr('href')
#使用webdriver載入公眾號主頁內容,主要是js渲染的部分
defget_selenium_js_html(self,url):
browser=webdriver.PhantomJS()
browser.get(url)
time.sleep(3)
#執行js得到整個頁面內容
html=browser.execute_script("returndocument.documentElement.outerHTML")
returnhtml
#獲取公眾號文章內容
defparse_wx_articles_by_html(self,selenium_html):
doc=pq(selenium_html)
print'開始查找內容msg'
returndoc('div[class="weui_media_boxappmsg"]')
#有的公眾號僅僅有10篇文章,有的可能多一點
#returndoc('div[class="weui_msg_card"]')#公眾號只有10篇文章文章的
#!/usr/bin/python
#coding:utf-8
importsys
reload(sys)
sys.setdefaultencoding('utf-8')
fromurllibimportquote
frompyqueryimportPyQueryaspq
fromseleniumimportwebdriver
importrequests
importtime
importre
importjson
importos
classweixin_spider:
def__init__(self,kw):
'構造函數'
self.kw=kw
#搜狐微信搜索鏈接
#self.sogou_search_url='http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&_sug_=n&_sug_type_='%quote(self.kw)
self.sogou_search_url='http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&s_from=input&_sug_=n&_sug_type_='%quote(self.kw)
#爬蟲偽裝
self.headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;WOW64;rv:47.0)Gecko/20100101FirePHP/0refox/47.0FirePHP/0.7.4.1'}
#操作超時時長
self.timeout=5
self.s=requests.Session()
defget_search_result_by_kw(self):
self.log('搜索地址為:%s'%self.sogou_search_url)
returnself.s.get(self.sogou_search_url,headers=self.headers,timeout=self.timeout).content
defget_wx_url_by_sougou_search_html(self,sougou_search_html):
'根據返回sougou_search_html,從中獲取公眾號主頁鏈接'
doc=pq(sougou_search_html)
#printdoc('p[class="tit"]')('a').attr('href')
#printdoc('div[class=img-box]')('a').attr('href')
#通過pyquery的方式處理網頁內容,類似用beautifulsoup,但是pyquery和jQuery的方法類似,找到公眾號主頁地址
returndoc('div[class=txt-box]')('p[class=tit]')('a').attr('href')
defget_selenium_js_html(self,wx_url):
'執行js渲染內容,並返回渲染後的html內容'
browser=webdriver.PhantomJS()
browser.get(wx_url)
time.sleep(3)
#執行js得到整個dom
html=browser.execute_script("returndocument.documentElement.outerHTML")
returnhtml
defparse_wx_articles_by_html(self,selenium_html):
'從selenium_html中解析出微信公眾號文章'
doc=pq(selenium_html)
returndoc('div[class="weui_msg_card"]')
defswitch_arctiles_to_list(self,articles):
'把articles轉換成數據字典'
articles_list=[]
i=1
ifarticles:
forarticleinarticles.items():
self.log(u'開始整合(%d/%d)'%(i,len(articles)))
articles_list.append(self.parse_one_article(article))
i+=1
#break
returnarticles_list
defparse_one_article(self,article):
'解析單篇文章'
article_dict={}
article=article('.weui_media_box[id]')
title=article('h4[class="weui_media_title"]').text()
self.log('標題是:%s'%title)
url='http://mp.weixin.qq.com'+article('h4[class="weui_media_title"]').attr('hrefs')
self.log('地址為:%s'%url)
summary=article('.weui_media_desc').text()
self.log('文章簡述:%s'%summary)
date=article('.weui_media_extra_info').text()
self.log('發表時間為:%s'%date)
pic=self.parse_cover_pic(article)
content=self.parse_content_by_url(url).html()
contentfiletitle=self.kw+'/'+title+'_'+date+'.html'
self.save_content_file(contentfiletitle,content)
return{
'title':title,
'url':url,
'summary':summary,
'date':date,
'pic':pic,
'content':content
}
defparse_cover_pic(self,article):
'解析文章封面圖片'
pic=article('.weui_media_hd').attr('style')
p=re.compile(r'background-image:url(.∗?)')
rs=p.findall(pic)
self.log('封面圖片是:%s'%rs[0]iflen(rs)>0else'')
returnrs[0]iflen(rs)>0else''
defparse_content_by_url(self,url):
'獲取文章詳情內容'
page_html=self.get_selenium_js_html(url)
returnpq(page_html)('#js_content')
defsave_content_file(self,title,content):
'頁面內容寫入文件'
withopen(title,'w')asf:
f.write(content)
defsave_file(self,content):
'數據寫入文件'
withopen(self.kw+'/'+self.kw+'.txt','w')asf:
f.write(content)
deflog(self,msg):
'自定義log函數'
printu'%s:%s'%(time.strftime('%Y-%m-%d%H:%M:%S'),msg)
defneed_verify(self,selenium_html):
'有時候對方會封鎖ip,這里做一下判斷,檢測html中是否包含id=verify_change的標簽,有的話,代表被重定向了,提醒過一陣子重試'
returnpq(selenium_html)('#verify_change').text()!=''
defcreate_dir(self):
'創建文件夾'
ifnotos.path.exists(self.kw):
os.makedirs(self.kw)
defrun(self):
'爬蟲入口函數'
#Step0:創建公眾號命名的文件夾
self.create_dir()
#Step1:GET請求到搜狗微信引擎,以微信公眾號英文名稱作為查詢關鍵字
self.log(u'開始獲取,微信公眾號英文名為:%s'%self.kw)
self.log(u'開始調用sougou搜索引擎')
sougou_search_html=self.get_search_result_by_kw()
#Step2:從搜索結果頁中解析出公眾號主頁鏈接
self.log(u'獲取sougou_search_html成功,開始抓取公眾號對應的主頁wx_url')
wx_url=self.get_wx_url_by_sougou_search_html(sougou_search_html)
self.log(u'獲取wx_url成功,%s'%wx_url)
#Step3:Selenium+PhantomJs獲取js非同步載入渲染後的html
self.log(u'開始調用selenium渲染html')
selenium_html=self.get_selenium_js_html(wx_url)
#Step4:檢測目標網站是否進行了封鎖
ifself.need_verify(selenium_html):
self.log(u'爬蟲被目標網站封鎖,請稍後再試')
else:
#Step5:使用PyQuery,從Step3獲取的html中解析出公眾號文章列表的數據
self.log(u'調用selenium渲染html完成,開始解析公眾號文章')
articles=self.parse_wx_articles_by_html(selenium_html)
self.log(u'抓取到微信文章%d篇'%len(articles))
#Step6:把微信文章數據封裝成字典的list
self.log(u'開始整合微信文章數據為字典')
articles_list=self.switch_arctiles_to_list(articles)
#Step7:把Step5的字典list轉換為Json
self.log(u'整合完成,開始轉換為json')
data_json=json.mps(articles_list)
#Step8:寫文件
self.log(u'轉換為json完成,開始保存json數據到文件')
self.save_file(data_json)
self.log(u'保存完成,程序結束')
#main
if__name__=='__main__':
gongzhonghao=raw_input(u'輸入要爬取的公眾號')
ifnotgongzhonghao:
gongzhonghao='python6359'
weixin_spider(gongzhonghao).run()
#!/usr/bin/python
#coding:utf-8
[python]view plain
3.獲取公眾號地址
從獲取到的網頁內容中,得到公眾號主頁地址, 這一步驟有很多方法, beautifulsoup、webdriver,直接使用正則,pyquery等都可以
這里使用的是pyquery的方法來查找公眾號主頁入口地址
[python]view plain
4.獲取公眾號主頁的文章列表
首先需要載入公眾號主頁,這里用的是phantomjs+webdriver, 因為這個主頁的內容需要JS 渲染載入,採用之前的方法只能獲得靜態的網頁內容
[python]view plain
得到主頁內容之後,獲取文章列表,這個文章列表中有我們需要的內容
[python]view plain
5.解析每一個文章列表,獲取我們需要的信息
6.處理對應的內容
包括文章名字,地址,簡介,發表時間等
7.保存文章內容
以html的格式保存到本地
同時將上一步驟的內容保存成excel 的格式
8.保存json數據
這樣,每一步拆分完,爬取公眾號的文章就不是特別難了。
三、源碼
第一版源碼如下:
[python]view plain
第二版代碼:
對代碼進行了一些優化和整改,主要:
1.增加了excel存貯
2.對獲取文章內容規則進行修改
3.豐富了注釋
本程序已知缺陷: 如果公眾號的文章內容包括視視頻,可能會報錯。
[python]view plain
『肆』 4種Python爬蟲(3. 微信小程序,如,超級猩猩)
目錄:
1. PC網頁爬蟲
2. H5網頁爬蟲
3. 微信小程序爬蟲
4. 手機APP爬蟲
爬取超級猩猩的課表,該平台僅提供了微信小程序這一個途徑,前面兩種針對html網頁的爬取方式都不再適用。
採用抓包分析是我們制定方案的第一步。
我用的Mac電腦,fiddler只有一個簡化版,所以另找了Charles這個類似的軟體。啟動Charles的代理,在手機WIFI中設置好對應的代理就可以開抓了。但是,抓到的https包的內容都是亂碼,咋辦?
Charles中提供了ssl證書,在手機端安裝證書即可。推薦使用iPhone,直接安裝描述文件即可。Android手機必須使用系統版本在7.0以下的才行,7.0以上還需要反編譯什麼的,太麻煩了。
很容易的定位到了超級猩猩微信小程序載入課表的後台介面。拿這個URL在瀏覽器里訪問試試,直接返回了json結果!超級猩猩很友好!
提取對應的URL,放到瀏覽器中驗證,也可以支持返回json包,剩下就是分析一下這個json的數據結構,按照需要的方式導出了。
直接通過介面的爬取效率非常高,幾秒鍾就拉取了全國各個門店的排課,相當舒心。(下圖的錄屏沒有進行加速)
最後一個挑戰就是對只有Android/iOS的APP端應用數據的爬取。請看下一章
請點擊: <下一頁>
『伍』 爬取某筆公考app公基題庫的操作
最近在准備上岸,備考中需做大量的練習,手機APP讓練習無處不在,但有個缺點,就是每次只能練習10-20道題目,不能用題海戰術,海量做題。能不能把網站的題庫及解析都弄下來,在本地電腦上做題呢?以下是我的思路:1、分析並爬取手機軟體的題庫;2、調整好格式存入xls文件中;3、導入PC版可自定義的考試系統中(如教之初考試系統免費版);4、自行設置考試模式,海量練習。
倒騰了兩天,終於搞定,後續再更新文章!
涉及到幾個點。
1、關於手機網路數據的分析,我是用Fiddler 4進行的分析。
2、關於excel表格的操控,之前想用xlwings模塊,後因沒裝office,用的是wps2013政府閹割版,無法操控,後改用xlrd、xlutils、shutil、os模塊自己寫了一個excel操縱類對象,發現還是有問題,後卸載閹割版wps,換了wps2016最新版的,就可以操作了。後來也沒換xlwings模塊了,將就著用自寫模塊。 大坑:xlrd模塊好像不支持中文路徑,全部換用英文路徑,最後再把文件夾及文件名轉換成中文的。
3、題庫分類保存。
1、Fiddler抓包手機APP的網路請求
Fiddler是一款非常流行並且實用的http抓包工具,它的原理是在本機開啟了一個http的代理伺服器,然後它會轉發所有的http請求和響應,不僅如此,它還可以支持請求重放等一些高級功能。顯然它是可以支持對手機應用進行http抓包的。
設置在同一區域網下電腦端Fiddler抓取手機APP應用網路請求的步驟:
(1)電腦端啟動Fiddler,打開菜單欄中的 Tools > Fiddler Options,打開「Fiddler Options」對話框。
(2)在Fiddler Options」對話框切換到「Connections」選項卡,然後勾選「Allow romote computers to connect」後面的復選框,然後點擊「OK」按鈕。( 小技巧: HTTPS標簽中可以設置下拉框為...from remote clients only , 貌似 就只接收遠程端的網路請求了)
(3)在電腦端的命令行輸入:ipconfig,找到本機的ip地址。(我的區域網IP:192.168.1.10)
(4)在手機端,打開android設備的「設置」->「WLAN」,找到你要連接的網路,在上面長按,然後選擇「修改網路」,彈出網路設置對話框,然後勾選「顯示高級選項」。 (其實蘋果手機也是類似的)
(5)在「代理」後面的輸入框選擇「手動」,在「代理伺服器主機名」後面的輸入框輸入電腦的ip地址,在「代理伺服器埠」後面的輸入框輸入8888,然後點擊「保存」按鈕。
(6)然後啟動android設備中的APP應用,在fiddler中可以看到完整的請求和響應數據。
2、手機APP應用網路數據分析
手機上打開某筆公考軟體後,從Fiddler左側欄中可以看到大量的請求鏈接。
點擊上圖黃色區域的鏈接,可看到右側詳細數據。
在右側詳細數據欄中,我們可以看到請求的網址:POST http:// xxx bi.com/android/sydw/exercises?&platform=android22&version=6.4.3&vendor=Tencent&app=gwy&deviceId=F4J/K8kXx6+C24yqFuzAiA==&av=8&kav=3 HTTP/1.1
post請求的參數keypointId=621638&type=3&limit=15
返回的數據為Json格式,從返回數據中我們可以找出questionIds對應的題目編號,如2084744.
點擊上上圖(Fiddler網路請求響應)中紅色框中的鏈接地址,我們可以看到右側詳細數據欄的數據
從上圖中我們可以找到ID號為2084744的題目的題干、選項、題型、答案等有用數據。
分析基本結束,此手機APP應用的模式基本是這樣:先請求15道題的ids,再根據meiti的ids請求題目相關數據。後續測試發現,請求questionIds時,修改參數,能一次最多請求到100道題的ids。
另外,從左側請求鏈接可以找出對應的章節分類請求鏈接,根據分類號再查找對應的questionids,就可以把所有的題目抓取出來。
3、xls操控
將就著基於xlrd模塊編寫自用模塊。
源碼在此,可能格式錯亂。需整理。
'''python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on 2018-05-14 12:48:07
@author: wangzheng
Sys_Env : Windows_AMD64 Python3.5.2
Wechat : hrcl2015(微信)
Filename: MyXls.py
Description : xls文件操控類MyXls
注意:文件路徑中不能有中文名,否則出錯
"""
from xlrd import open_workbook
from xlutils. import
import os,shutil
class MyXls:
def __init__(self,fpath=None,modelfpath=None,sheetindex=None,protectrow=None,overwrite=True):
self.openxlspath=''#已打開的xls文件
self.sheetindex=None#當前工作表索引
self.rb=None#
self.wb=None#workbook工作簿
self.ws=None#worksheet工作表
self.headrow=0#開頭保護行數
if (fpath is not None) and (modelfpath is not None):
self.open__xls(modelfpath,fpath,True)
elif fpath is not None:self.open_xls(fpath)
if sheetindex is not None:self.get_sheet(sheetindex)
if protectrow is not None:self.headrow=protectrow
def open_xls(self,fpath):
path=fpath
try:
rb = open_workbook(path)
except Exception as err:
print("File not exists: "+str(err))
return False
#通過sheet_by_index()獲取的sheet沒有write()方法
#rs = rb.sheet_by_index(0)
#rs = rb.sheet_by_name('sheet 1')
self.wb = (rb)
self.openxlspath=path
return True
def get_sheet(self,sheet_index=0):
sheets=sheet_index
#通過get_sheet()獲取的sheet有write()方法
self.ws = self.wb.get_sheet(sheets)
self.sheetindex=sheets
def write_xls(self,row_index,column_index,data_str):
row,col,data=row_index,column_index,data_str
#寫入數據
self.ws.write(row,col,data)#write(行,列,內容),索引從0開始
def write_xls_bycolname(self,row_index,column_name,data_str):
column_index=self.colname_to_num(column_name)
row,col,data=row_index,column_index,data_str
#寫入數據
self.ws.write(row,col,data)#write(行,列,內容),索引從0開始
def write_xls_bysheet(self,sheetindex,row_index,column_name,data_str):
'''在指定工作表的指定行列表格中寫入數據'''
if self.sheetindex != sheetindex :self.get_sheet(sheetindex)
self.write_xls_bycolname(row_index,column_name,data_str)
def save_xls(self,fpath=None):
if fpath is None:
self.wb.save(self.openxlspath)
print('saved '+self.openxlspath)
else:
path=fpath
self.wb.save(path)#保存xls文件
print('saved '+path)
return True
def open__xls(self,model_fpath,new_fpath,overwrite=True):
'''參照模板文件,復制並打開xls文件'''
if os.path.exists(model_fpath) :
new_fpath=self.auto_mkdir(new_fpath)
if (not os.path.exists(new_fpath)) or overwrite:
#print('[%s]to[%s]'%(model_fpath,new_fpath))
shutil.(model_fpath,new_fpath)
return self.open_xls(new_fpath)
else:print('新文件已存在,請修改新文件名!');return False
else:print('模板文件不存在,不能復制到新文件!');return False
def num_to_colname(self,col_index,start=0):
#列索引轉列名,基數start從0開始,0-->A
if type(col_index) != int:
return col_index
if start==0:
x=col_index+1
elif start==1:
x=col_index
s=''
flag=False#借位標志
while x>26:
y=x%26#取餘0-25
if y==0:y=26;flag=True;
d=chr(y+64)#低位
s=d+s
x=x//26#整除取商
if flag:x=x-1;flag=False;#如果借位,商要先-1
g=chr(x+64)#高位
s=g+s
return s
def colname_to_num(self,colname,start=0):
#列名轉列索引 A-->0,B->1,開始基數start為0
if type(colname) is not str:
return colname
colname=colname.upper()#轉成大寫
col = 0
power = 1
#print(len(colname))#位數
for i in range(len(colname) - 1, -1, -1):#range(start=0,stop,step=1)
ch = colname[i] #倒序取字母
#print(ch)#所在位上的字母
col += (ord(ch) - ord('A') + 1 ) * power
power *= 26
#print(col-1)
if start==0:return col-1
if start==1:return col
def auto_mkdir(self,fpath):
'''自動補全目錄,目錄不存在就創建目錄'''
#fpath='D:\\MyPython\\粉筆公考題庫提取\\678\\980\\test.txt'
fpath=fpath.replace('\\','/')
if not os.path.exists(fpath):
plst=fpath.split(sep='/')
path=''
if not fpath.endswith('/'):plst=plst[:-1]
for p in plst:
path=path+p+'/'
if not os.path.exists(path):os.mkdir(path)
return fpath
if __name__=='__main__':
model_fpath='D:\\MyPython\\model.xls'
new_fpath='D:\\MyPython\\abc\\123/out.xls'
# myxls=MyXls()
# myxls.open__xls(model_fpath,new_fpath)
# myxls.get_sheet(0)
myxls=MyXls(new_fpath,model_fpath,2,3)
myxls.write_xls_bycolname(6,'K','K列6行數據')
# myxls.save_xls(new_fpath)
myxls.save_xls()
pass
'''
4、文件保存
保存成xls文件,和txt文件,txt文件再轉換成word文檔列印出來。大概有7個大類,100+小類,12737道題。
5、導入題庫軟體
xls文件導入題庫中。
6、大功告成
PS:某筆app更新後,加入了防抓取數據的功能,貌似安卓5.1以上的都不能抓取了。
據資深網友反應,使用安卓模擬器(系統版本4.4)還可以抓到明文數據,有興趣的讀者可以試一試。
『陸』 如何爬取滴滴順風車訂單 python
對手機端APP進行抓包,首先找到他們的API對API進行模擬登陸,在實時刷新訂單,並返回去程序就OK了,不過值得注意的是這一類APP API 大部分使用的是長連接來鏈接,抓包的時候注意一下