国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Python爬蟲抓取手機APP的數據

Wildesbeast ? 來源:今日頭條 ? 作者:有趣的程序媛 ? 2020-02-05 12:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大多數APP里面返回的是json格式數據,或者一堆加密過的數據 。這里以超級課程表APP為例,抓取超級課程表里用戶發的話題。

1

抓取APP數據包

表單:

私信小編01 領取完整項目代碼!

表單中包括了用戶名和密碼,當然都是加密過了的,還有一個設備信息,直接post過去就是。

另外必須加header,一開始我沒有加header得到的是登錄錯誤,所以要帶上header信息。

2

登錄

登錄代碼:

import urllib2 from cookielib import CookieJar loginUrl = 'http://120.55.151.61/V2/StudentSkip/loginCheckV4.action' headers = { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'User-Agent': 'Dalvik/1.6.0 (Linux; U; Android 4.1.1; M040 Build/JRO03H)', 'Host': '120.55.151.61', 'Connection': 'Keep-Alive', 'Accept-Encoding': 'gzip', 'Content-Length': '207', } loginData = 'phoneBrand=Meizu&platform=1&deviceCode=868033014919494&account=FCF030E1F2F6341C1C93BE5BBC422A3D&phoneVersion=16&password=A55B48BB75C79200379D82A18C5F47D6&channel=MXMarket&phoneModel=M040&versionNumber=7.2.1&' cookieJar = CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) req = urllib2.Request(loginUrl, loginData, headers) loginResult = opener.open(req).read() print loginResult

登錄成功 會返回一串賬號信息的json數據

和抓包時返回數據一樣,證明登錄成功

3

抓取數據

用同樣方法得到話題的url和post參數

做法就和模擬登錄網站一樣。詳見:http://my.oschina.net/jhao104/blog/547311

下見最終代碼,有主頁獲取和下拉加載更新。可以無限加載話題內容。

#!/usr/local/bin/python2.7 # -*- coding: utf8 -*- """ 超級課程表話題抓取 """ import urllib2 from cookielib import CookieJar import json ''' 讀Json數據 ''' def fetch_data(json_data): data = json_data['data'] timestampLong = data['timestampLong'] messageBO = data['messageBOs'] topicList = [] for each in messageBO: topicDict = {} if each.get('content', False): topicDict['content'] = each['content'] topicDict['schoolName'] = each['schoolName'] topicDict['messageId'] = each['messageId'] topicDict['gender'] = each['studentBO']['gender'] topicDict['time'] = each['issueTime'] print each['schoolName'],each['content'] topicList.append(topicDict) return timestampLong, topicList ''' 加載更多 ''' def load(timestamp, headers, url): headers['Content-Length'] = '159' loadData = 'timestamp=%s&phoneBrand=Meizu&platform=1&genderType=-1&topicId=19&phoneVersion=16&selectType=3&channel=MXMarket&phoneModel=M040&versionNumber=7.2.1&' % timestamp req = urllib2.Request(url, loadData, headers) loadResult = opener.open(req).read() loginStatus = json.loads(loadResult).get('status', False) if loginStatus == 1: print 'load successful!' timestamp, topicList = fetch_data(json.loads(loadResult)) load(timestamp, headers, url) else: print 'load fail' print loadResult return False loginUrl = 'http://120.55.151.61/V2/StudentSkip/loginCheckV4.action' topicUrl = 'http://120.55.151.61/V2/Treehole/Message/getMessageByTopicIdV3.action' headers = { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'User-Agent': 'Dalvik/1.6.0 (Linux; U; Android 4.1.1; M040 Build/JRO03H)', 'Host': '120.55.151.61', 'Connection': 'Keep-Alive', 'Accept-Encoding': 'gzip', 'Content-Length': '207', } ''' ---登錄部分--- ''' loginData = 'phoneBrand=Meizu&platform=1&deviceCode=868033014919494&account=FCF030E1F2F6341C1C93BE5BBC422A3D&phoneVersion=16&password=A55B48BB75C79200379D82A18C5F47D6&channel=MXMarket&phoneModel=M040&versionNumber=7.2.1&' cookieJar = CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) req = urllib2.Request(loginUrl, loginData, headers) loginResult = opener.open(req).read() loginStatus = json.loads(loginResult).get('data', False) if loginResult: print 'login successful!' else: print 'login fail' print loginResult ''' ---獲取話題--- ''' topicData = 'timestamp=0&phoneBrand=Meizu&platform=1&genderType=-1&topicId=19&phoneVersion=16&selectType=3&channel=MXMarket&phoneModel=M040&versionNumber=7.2.1&' headers['Content-Length'] = '147' topicRequest = urllib2.Request(topicUrl, topicData, headers) topicHtml = opener.open(topicRequest).read() topicJson = json.loads(topicHtml) topicStatus = topicJson.get('status', False) print topicJson if topicStatus == 1: print 'fetch topic success!' timestamp, topicList = fetch_data(topicJson) load(timestamp, headers, topicUrl)

結果:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • APP
    APP
    +關注

    關注

    33

    文章

    1592

    瀏覽量

    75995
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90057
  • 爬蟲
    +關注

    關注

    0

    文章

    87

    瀏覽量

    8092
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何使用Python讀取不間斷數據,并將其傳輸到LabVIEW進行處理?

    使用Python讀取Count,如何將讀取到的數據傳輸至Labview;傳輸過程中Python要保持讀取的動作,不能停止。
    發表于 01-23 11:09

    京東關鍵詞搜索商品列表的Python爬蟲實戰

    京東關鍵詞搜索商品列表 Python 爬蟲實戰 你想要實現京東關鍵詞搜索商品的爬蟲,我會從 合規聲明、環境準備、頁面分析、代碼實現、反爬優化 五個方面展開,幫助你完成實戰項目。 一、前置聲明(重要
    的頭像 發表于 01-04 10:16 ?756次閱讀

    如何使用機器人分析儀EtherCAT-Analyzer抓取主從站數據

    EtherCAT總線在機器人控制總線里占據重要地位。這次,我們搭建了包含EtherCAT主從站和分析儀的完整環境,用機器人分析儀EtherCAT-Analyzer實際抓取主從站之間的通訊數據。實測
    的頭像 發表于 12-22 11:46 ?842次閱讀
    如何使用機器人分析儀EtherCAT-Analyzer<b class='flag-5'>抓取</b>主從站<b class='flag-5'>數據</b>?

    # 深度解析:爬蟲技術獲取淘寶商品詳情并封裝為API的全流程應用

    需求。本文將深入探討如何借助爬蟲技術實現淘寶商品詳情的獲取,并將其高效封裝為API。 一、爬蟲技術核心原理與工具 1.1 爬蟲運行機制 網絡爬蟲本質上是一種遵循特定規則,自動
    的頭像 發表于 11-17 09:29 ?351次閱讀

    商品銷量數據抓取接口

    原理、實現步驟、代碼示例和注意事項。內容基于Python技術棧,確保真實可靠。 一、接口原理 商品銷量數據通常存儲在電商平臺的服務器上(如淘寶、京東)。抓取接口的核心是通過HTTP請求模擬用戶行為,從目標頁面或API獲取
    的頭像 發表于 10-21 18:02 ?606次閱讀
    商品銷量<b class='flag-5'>數據</b><b class='flag-5'>抓取</b>接口

    Python 給 Amazon 做“全身 CT”——可量產、可擴展的商品詳情爬蟲實戰

    一、技術選型:為什么選 Python 而不是 Java? 結論: “調研階段用 Python,上線后如果 QPS 爆表再考慮 Java 重構。” 二、整體架構速覽(3 分鐘看懂) 三、開發前準備(5
    的頭像 發表于 10-21 16:59 ?520次閱讀
    用 <b class='flag-5'>Python</b> 給 Amazon 做“全身 CT”——可量產、可擴展的商品詳情<b class='flag-5'>爬蟲</b>實戰

    從 0 到 1:用 PHP 爬蟲優雅地拿下京東商品詳情

    PHP 語言 實現一個 可運行的京東商品爬蟲 ,不僅能抓取商品標題、價格、圖片、評價數,還能應對常見的反爬策略。全文附完整代碼, 復制粘貼即可運行 。 一、為什么選擇 PHP 做爬蟲? 雖然
    的頭像 發表于 09-23 16:42 ?858次閱讀
    從 0 到 1:用 PHP <b class='flag-5'>爬蟲</b>優雅地拿下京東商品詳情

    Nginx限流與防爬蟲配置方案

    在互聯網業務快速發展的今天,網站面臨著各種流量沖擊和惡意爬蟲的威脅。作為運維工程師,我們需要在保證正常用戶訪問的同時,有效防范惡意流量和爬蟲攻擊。本文將深入探討基于Nginx的限流與防爬蟲解決方案,從原理到實踐,為大家提供一套完
    的頭像 發表于 09-09 15:52 ?911次閱讀

    termux如何搭建python游戲

    Pygame),確保已安裝`clang`編譯器:`apt install -y clang` 3. 權限問題:若需訪問手機文件,安裝`termux-setup-storage`并授權存儲訪問權限。 通過以上步驟,即可在Termux中搭建完整的Python游戲開發環境
    發表于 08-29 07:06

    怎么導出python邊緣計算中的APP,想進行修改又找不到源碼?

    怎么導出python邊緣計算中的APP,想進行修改又找不到源碼
    發表于 08-06 07:33

    python app不能運行怎么解決?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    發表于 08-06 06:27

    拼多多電商 API 接口與競品,數據抓取速度大較量

    在當今電商行業,數據抓取速度是衡量平臺競爭力的核心指標之一。高效的 API(應用程序接口)能顯著提升數據分析、庫存管理和用戶個性化推薦的效率。本文將深入比較拼多多電商 API 接口與主要競品(如淘寶
    的頭像 發表于 07-09 15:29 ?795次閱讀

    如何用Brower Use WebUI實現網頁數據智能抓取與分析?

    數據時,不會被網站反爬機制識別和封禁,能穩定有效地獲取數據和執行任務。除了數據采集外,Browser-use還能抓取網頁全部交互元素,自動完成設置的動作,如填寫表單、內容提取等。 Br
    的頭像 發表于 04-17 17:48 ?1134次閱讀
    如何用Brower Use WebUI實現網頁<b class='flag-5'>數據</b>智能<b class='flag-5'>抓取</b>與分析?

    復合機器人抓取精度的影響因素及提升策略

    復合機器人結合了移動機器人(如AGV)和機械臂的功能,廣泛應用于物流、制造等領域。抓取精度是其核心性能指標之一,直接影響作業效率和產品質量。本文將探討復合機器人抓取精度的影響因素及提升策略。
    的頭像 發表于 04-12 11:15 ?1047次閱讀

    爬蟲數據獲取實戰指南:從入門到高效采集

    爬蟲數據獲取實戰指南:從入門到高效采集 ? ? 在數字化浪潮中,數據已成為驅動商業增長的核心引擎。無論是市場趨勢洞察、競品動態追蹤,還是用戶行為分析,爬蟲技術都能助你快速捕獲目標信息。
    的頭像 發表于 03-24 14:08 ?1581次閱讀