日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Python爬蟲(chóng)抓取手機(jī)APP的數(shù)據(jù)

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

掃碼添加小助手

加入工程師交流群

大多數(shù)APP里面返回的是json格式數(shù)據(jù),或者一堆加密過(guò)的數(shù)據(jù) 。這里以超級(jí)課程表APP為例,抓取超級(jí)課程表里用戶(hù)發(fā)的話(huà)題。

1

抓取APP數(shù)據(jù)包

表單:

私信小編01 領(lǐng)取完整項(xiàng)目代碼!

表單中包括了用戶(hù)名和密碼,當(dāng)然都是加密過(guò)了的,還有一個(gè)設(shè)備信息,直接post過(guò)去就是。

另外必須加header,一開(kāi)始我沒(méi)有加header得到的是登錄錯(cuò)誤,所以要帶上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

登錄成功 會(huì)返回一串賬號(hào)信息的json數(shù)據(jù)

和抓包時(shí)返回?cái)?shù)據(jù)一樣,證明登錄成功

3

抓取數(shù)據(jù)

用同樣方法得到話(huà)題的url和post參數(shù)

做法就和模擬登錄網(wǎng)站一樣。詳見(jiàn):http://my.oschina.net/jhao104/blog/547311

下見(jiàn)最終代碼,有主頁(yè)獲取和下拉加載更新??梢詿o(wú)限加載話(huà)題內(nèi)容。

#!/usr/local/bin/python2.7 # -*- coding: utf8 -*- """ 超級(jí)課程表話(huà)題抓取 """ import urllib2 from cookielib import CookieJar import json ''' 讀Json數(shù)據(jù) ''' 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 ''' ---獲取話(huà)題--- ''' 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)

結(jié)果:

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • APP
    APP
    +關(guān)注

    關(guān)注

    33

    文章

    1594

    瀏覽量

    76147
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4889

    瀏覽量

    90330
  • 爬蟲(chóng)
    +關(guān)注

    關(guān)注

    0

    文章

    87

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    電商效率翻倍:用 OpenClaw 對(duì)接小紅書(shū)視頻詳情接口,一鍵抓取商品全量信息

    抓取 視頻直鏈、封面、筆記文案、標(biāo)簽、互動(dòng)數(shù)據(jù)、關(guān)聯(lián)商品(標(biāo)題 / 鏈接 / 價(jià)格 / 主圖)、店鋪信息 等全量電商數(shù)據(jù),完美適配小紅書(shū)種草選品、跨平臺(tái)鋪貨、競(jìng)品監(jiān)控、素材采集場(chǎng)景。 一、接口核心能力 支持小紅書(shū) 視頻筆記 (含
    的頭像 發(fā)表于 04-23 10:45 ?217次閱讀

    Python全棧一課通(470集)(12.96 GB)-網(wǎng)盤(pán)資源下載

    只懂單一節(jié)點(diǎn)的“螺絲釘”,往往是最先被優(yōu)化、被降薪的群體。(看讠果aixuetang。xyz) 如果將《470集吃透 Python 全棧:Web 開(kāi)發(fā)、接口、爬蟲(chóng)、自動(dòng)化全包含》置于經(jīng)濟(jì)學(xué)的顯微鏡下,它
    發(fā)表于 04-19 16:30

    1688 商品詳情 API 調(diào)用與數(shù)據(jù)解析 Python 實(shí)戰(zhàn)

    你想要的是 1688 商品詳情 API 的 Python 調(diào)用與數(shù)據(jù)解析實(shí)戰(zhàn)方案,核心是完成 API 憑證配置、接口請(qǐng)求(含簽名)、響應(yīng)數(shù)據(jù)解析、異常處理 的全流程落地,我會(huì)提供可直接運(yùn)行的代碼,并
    的頭像 發(fā)表于 02-10 11:23 ?411次閱讀

    如何使用Python讀取不間斷數(shù)據(jù),并將其傳輸?shù)絃abVIEW進(jìn)行處理?

    使用Python讀取Count,如何將讀取到的數(shù)據(jù)傳輸至Labview;傳輸過(guò)程中Python要保持讀取的動(dòng)作,不能停止。
    發(fā)表于 01-23 11:09

    京東關(guān)鍵詞搜索商品列表的Python爬蟲(chóng)實(shí)戰(zhàn)

    京東關(guān)鍵詞搜索商品列表 Python 爬蟲(chóng)實(shí)戰(zhàn) 你想要實(shí)現(xiàn)京東關(guān)鍵詞搜索商品的爬蟲(chóng),我會(huì)從 合規(guī)聲明、環(huán)境準(zhǔn)備、頁(yè)面分析、代碼實(shí)現(xiàn)、反爬優(yōu)化 五個(gè)方面展開(kāi),幫助你完成實(shí)戰(zhàn)項(xiàng)目。 一、前置聲明(重要
    的頭像 發(fā)表于 01-04 10:16 ?1358次閱讀

    如何使用機(jī)器人分析儀EtherCAT-Analyzer抓取主從站數(shù)據(jù)?

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

    # 深度解析:爬蟲(chóng)技術(shù)獲取淘寶商品詳情并封裝為API的全流程應(yīng)用

    需求。本文將深入探討如何借助爬蟲(chóng)技術(shù)實(shí)現(xiàn)淘寶商品詳情的獲取,并將其高效封裝為API。 一、爬蟲(chóng)技術(shù)核心原理與工具 1.1 爬蟲(chóng)運(yùn)行機(jī)制 網(wǎng)絡(luò)爬蟲(chóng)本質(zhì)上是一種遵循特定規(guī)則,自動(dòng)
    的頭像 發(fā)表于 11-17 09:29 ?508次閱讀

    商品銷(xiāo)量數(shù)據(jù)抓取接口

    原理、實(shí)現(xiàn)步驟、代碼示例和注意事項(xiàng)。內(nèi)容基于Python技術(shù)棧,確保真實(shí)可靠。 一、接口原理 商品銷(xiāo)量數(shù)據(jù)通常存儲(chǔ)在電商平臺(tái)的服務(wù)器上(如淘寶、京東)。抓取接口的核心是通過(guò)HTTP請(qǐng)求模擬用戶(hù)行為,從目標(biāo)頁(yè)面或API獲取
    的頭像 發(fā)表于 10-21 18:02 ?765次閱讀
    商品銷(xiāo)量<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>抓取</b>接口

    Python 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴(kuò)展的商品詳情爬蟲(chóng)實(shí)戰(zhàn)

    一、技術(shù)選型:為什么選 Python 而不是 Java? 結(jié)論: “調(diào)研階段用 Python,上線(xiàn)后如果 QPS 爆表再考慮 Java 重構(gòu)。” 二、整體架構(gòu)速覽(3 分鐘看懂) 三、開(kāi)發(fā)前準(zhǔn)備(5
    的頭像 發(fā)表于 10-21 16:59 ?640次閱讀
    用 <b class='flag-5'>Python</b> 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴(kuò)展的商品詳情<b class='flag-5'>爬蟲(chóng)</b>實(shí)戰(zhàn)

    從 0 到 1:用 PHP 爬蟲(chóng)優(yōu)雅地拿下京東商品詳情

    PHP 語(yǔ)言 實(shí)現(xiàn)一個(gè) 可運(yùn)行的京東商品爬蟲(chóng) ,不僅能抓取商品標(biāo)題、價(jià)格、圖片、評(píng)價(jià)數(shù),還能應(yīng)對(duì)常見(jiàn)的反爬策略。全文附完整代碼, 復(fù)制粘貼即可運(yùn)行 。 一、為什么選擇 PHP 做爬蟲(chóng)? 雖然
    的頭像 發(fā)表于 09-23 16:42 ?1086次閱讀
    從 0 到 1:用 PHP <b class='flag-5'>爬蟲(chóng)</b>優(yōu)雅地拿下京東商品詳情

    Nginx限流與防爬蟲(chóng)配置方案

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

    termux如何搭建python游戲

    Pygame),確保已安裝`clang`編譯器:`apt install -y clang` 3. 權(quán)限問(wèn)題:若需訪(fǎng)問(wèn)手機(jī)文件,安裝`termux-setup-storage`并授權(quán)存儲(chǔ)訪(fǎng)問(wèn)權(quán)限。 通過(guò)以上步驟,即可在Termux中搭建完整的Python游戲開(kāi)發(fā)環(huán)境
    發(fā)表于 08-29 07:06

    怎么導(dǎo)出python邊緣計(jì)算中的APP,想進(jìn)行修改又找不到源碼?

    怎么導(dǎo)出python邊緣計(jì)算中的APP,想進(jìn)行修改又找不到源碼
    發(fā)表于 08-06 07:33

    python app不能運(yùn)行怎么解決?

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

    拼多多電商 API 接口與競(jìng)品,數(shù)據(jù)抓取速度大較量

    在當(dāng)今電商行業(yè),數(shù)據(jù)抓取速度是衡量平臺(tái)競(jìng)爭(zhēng)力的核心指標(biāo)之一。高效的 API(應(yīng)用程序接口)能顯著提升數(shù)據(jù)分析、庫(kù)存管理和用戶(hù)個(gè)性化推薦的效率。本文將深入比較拼多多電商 API 接口與主要競(jìng)品(如淘寶
    的頭像 發(fā)表于 07-09 15:29 ?915次閱讀
    清水河县| 翁源县| 石柱| 九台市| 南康市| 清涧县| 扶绥县| 巴青县| 南涧| 通渭县| 白朗县| 阳朔县| 鄄城县| 汉寿县| 西宁市| 沙洋县| 天津市| 梧州市| 绥棱县| 湟源县| 大丰市| 哈巴河县| 富宁县| 阿拉善右旗| 荔浦县| 游戏| 全州县| 丰宁| 深泽县| 奉贤区| 株洲县| 隆安县| 宁南县| 米易县| 甘泉县| 德昌县| 利辛县| 连山| 怀集县| 镇沅| 桐乡市|