




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Python網(wǎng)絡(luò)爬蟲第三單元
爬取APP數(shù)據(jù)教學概述概述
APP(Application),也稱為手機軟件或應(yīng)用軟件,主要指安裝在智能手機上的軟件,完善原始系統(tǒng)的不足與個性化。使手機完善其功能,為用戶提供更豐富的使用體驗的主要手段。手機軟件的運行需要有相應(yīng)的手機系統(tǒng),目前主要的手機系統(tǒng)有:蘋果公司的iOS系統(tǒng)、谷歌公司的Android(安卓)系統(tǒng)。
隨著智能手機的普及,人們在溝通、社交、娛樂等活動中越來越依賴于手機app軟件。手機軟件是通過分析,設(shè)計,編碼,生成軟件,而手機軟件是一種特殊的軟件。
APP中主要做到的效果是數(shù)據(jù)展示和用戶交互,而數(shù)據(jù)的來源,也就是本次學習情境的目標所在,是通過HTTP和Socket通信方式與后臺服務(wù)器定義的接口進行交互的。教學概述教學導(dǎo)航知識重點Fiddler及
Android模擬器的安裝使用。知識難點利用
Fiddler及
Android模擬器
進行爬取app項目開發(fā)。推薦教學方式從
Fiddler及
Android模擬器
功能進行介紹,讓學生有大體了解實際爬取app項目開發(fā),讓學生掌握如何使用。建議學時8學時推薦學習方法通過老師講解掌握
Fiddler及
Android
模擬器基本概念,然后進行實操一步步通過Fiddler及
Android模擬器構(gòu)建爬蟲項目,加深印象。必須掌握的理論知識Fiddler的使用;網(wǎng)絡(luò)交互數(shù)據(jù)解析;必須掌握的技能Fiddler的安裝和配置;Fiddler的使用;網(wǎng)絡(luò)交互數(shù)據(jù)解析;模擬器的安裝配置。第三單元
爬取APP數(shù)據(jù)0304Fiddler與模擬器的整合關(guān)聯(lián)Fiddler和模擬器分析并確定目標數(shù)據(jù)構(gòu)建項目采集數(shù)據(jù)0102情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)01030204情景概述知識準備案例講解總結(jié)PART01情境概述情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)情境概述學習情境描述1.教學情境描述:通過對Fiddler工具的安裝、配置和使用來定位數(shù)據(jù)訪問具體細節(jié);通過對真機或模擬器APP數(shù)據(jù)訪問和用戶交互操作的數(shù)據(jù)和行為解析;通過Requests或其他爬蟲技術(shù)的應(yīng)用,爬取手機應(yīng)用APP交互數(shù)據(jù)。2.關(guān)鍵知識點:Fiddler的安裝和配置、Fiddler的使用、網(wǎng)絡(luò)交互數(shù)據(jù)解析、模擬器的安裝配置、APP的應(yīng)用、Requests數(shù)據(jù)請求、JSON數(shù)據(jù)解析、CSV數(shù)據(jù)存儲。3.關(guān)鍵技能點:Fiddler的使用、模擬器的安裝配置、Requests數(shù)據(jù)請求、JSON數(shù)據(jù)解析、CSV數(shù)據(jù)存儲。
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)情境概述本節(jié)課的學習目標理解APP應(yīng)用數(shù)據(jù)交互和用戶行為交互原理。掌握Fiddler工具安裝配置。掌握模擬器的安裝配置。掌握Fiddler和模擬器的整合。掌握Fiddler定位解析網(wǎng)絡(luò)數(shù)據(jù)交互功能。掌握Requests網(wǎng)絡(luò)爬蟲技術(shù)。掌握JSON數(shù)據(jù)格式并解析。掌握CSV數(shù)據(jù)格式并存儲。
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)情境概述本節(jié)課的任務(wù)書完成Fiddler軟件的安裝配置。完成模擬器軟件的安裝配置。完成Fiddler與模擬器的整合。使用Fiddler定位新聞類APP數(shù)據(jù)交互接口與數(shù)據(jù)結(jié)構(gòu)。使用Requests獲取接口數(shù)據(jù)。使用JSON解析接口數(shù)據(jù)。使用CSV存儲APP數(shù)據(jù)。
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)PART02知識準備情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備引導(dǎo)問題APP數(shù)據(jù)交互和Web數(shù)據(jù)交互一樣嗎?如果不一樣,有什么不一樣?如果APP和Web數(shù)據(jù)交互不同,有什么不同?定位并抓取APP數(shù)據(jù)和Web數(shù)據(jù)一樣嗎?如果不一樣,有什么不一樣?我們可以通過什么方式定位APP數(shù)據(jù)接口?定位APP數(shù)據(jù)可能會遇到哪些問題?如何獲取、解析、存儲APP接口數(shù)據(jù)?
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備知識點介紹Fiddler介紹Fiddler安裝與配置Fiddler應(yīng)用Android
模擬器介紹Android
模擬器安裝與配置
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備思維導(dǎo)圖
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備Fiddler介紹
Fiddler是一個HTTP的調(diào)試代理,以代理服務(wù)器的方式,監(jiān)聽系統(tǒng)的HTTP網(wǎng)絡(luò)數(shù)據(jù)流動。Fiddler可以讓你檢查所有的HTTP通訊,設(shè)置斷點,以及Fiddler所有的“進出”的數(shù)據(jù)。Fiddler還包含一個簡單卻功能強大的基于JScript.NET事件腳本子系統(tǒng),它可以支持眾多的HTTP調(diào)試任務(wù)。Fiddler安裝與配置
Fiddler是一款軟件工具,以下是相關(guān)操作。1.1.下載軟件
Fiddler有各種不同的版本,你可以根據(jù)需要下載,官網(wǎng)下載地址:
/download/fiddler情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.2.安裝軟件
運行下載的Fiddler安裝包:FiddlerSetup.exe,選定安裝地址,默認安裝即可,效果如圖3-2所示。情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.2.安裝軟件
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.Fiddler配置
打開Fiddler,效果如圖3-3所示
圖3-3Fiddler安裝情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.Fiddler配置a.配置HTTPS支持
a1:默認情況下,Fiddler不會捕獲和解密安全的HTTPS流量。要捕獲通過HTTPS發(fā)送的數(shù)據(jù),需要啟用HTTPS流量解密。配置項位于Tools>Options>HTTPS,配置如圖3-4所示。
圖3-4啟用HTTPS流量解密情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.Fiddler配置a.配置HTTPS支持也可以設(shè)置跳過特定的主機流量解密,配置如圖3-5所示。
圖3-5過濾指定主機情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.Fiddler配置a.配置HTTPS支持HTTPS協(xié)議是安全協(xié)議,通常需要安全密鑰驗證等。本次APP移動端數(shù)據(jù)偵聽過程安全驗證要求更高,為了在保證安全的情況下提高效率,可以將服務(wù)器密鑰驗證忽略,并將FiddlerRootCertificate導(dǎo)出并導(dǎo)入到對應(yīng)Android機器中。忽略密鑰驗證如圖3-6所示,導(dǎo)出RootCertificate如圖3-7所示。情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.Fiddler配置a.配置HTTPS支持
圖3-6忽略安全密鑰校驗情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.Fiddler配置a.配置HTTPS支持
圖3-7導(dǎo)出RootCertificate情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.Fiddler配置b.允許遠程客戶端連接
配置允許遠程客戶端連接,保持Fiddler和Android機器保持長連接狀態(tài)。配置項位于Tools>Options>Connections,配置如圖3-8所示。
圖3-8允許客戶端遠程連接情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.Fiddler配置c.配置客戶端應(yīng)用目標端口
配置客戶端應(yīng)用目標端口,保持Fiddler和Android機器連接狀態(tài)。配置項位于Tools>Options>Connections,配置如圖3-9所示。
圖3-9配置客戶端應(yīng)用目標端口情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備Fiddler應(yīng)用
Fiddler的主界面分為工具面板、會話面板、監(jiān)控面板、狀態(tài)面板。我們需要認知的主要是會話面板和監(jiān)控面板。1.1.會話面板
會話面板效果如圖3-10所示:其中每一列所對應(yīng)的含義分別是:FiddlerID號、URL請求地址、結(jié)果代碼、協(xié)議、主機名、內(nèi)容/流量大小、緩存之、內(nèi)容類型、進程名及ID、注釋以及Web會話的任何自定義列。
圖3-10會話面板情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備Fiddler應(yīng)用
Fiddler的主界面分為工具面板、會話面板、監(jiān)控面板、狀態(tài)面板。我們需要認知的主要是會話面板和監(jiān)控面板。1.2.監(jiān)控面板
監(jiān)控面板效果如圖3-11所示:
圖3-11監(jiān)控面板情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備Fiddler應(yīng)用
監(jiān)控面板根據(jù)需要有多個視圖窗口,以下介紹幾個常用視圖。a.查看Web會話性能統(tǒng)計信息Web會話性能統(tǒng)計信息可以直接在監(jiān)控面板中的Statistics窗口查看,效果如圖3-12所示。
圖3-12查看Web會話統(tǒng)計信息情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備Fiddler應(yīng)用
b.查看網(wǎng)絡(luò)會話內(nèi)容
Web網(wǎng)絡(luò)會話內(nèi)容可以直接在監(jiān)控面板中的Inspectors窗口查看,效果如圖3-13所示。
圖3-13查看Web會話內(nèi)容情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.Fiddler配置a.配置HTTPS支持HTTPS協(xié)議是安全協(xié)議,通常需要安全密鑰驗證等。本次APP移動端數(shù)據(jù)偵聽過程安全驗證要求更高,為了在保證安全的情況下提高效率,可以將服務(wù)器密鑰驗證忽略,并將FiddlerRootCertificate導(dǎo)出并導(dǎo)入到對應(yīng)Android機器中。忽略密鑰驗證如圖3-6所示,導(dǎo)出RootCertificate如圖3-7所示。情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備Fiddler應(yīng)用
b.查看網(wǎng)絡(luò)會話內(nèi)容
Web網(wǎng)絡(luò)會話內(nèi)容可以直接在監(jiān)控面板中的Inspectors窗口查看,效果如圖3-13所示。
圖3-13查看Web會話內(nèi)容情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備Android模擬器介紹
Android模擬器可在您的計算機上模擬Android設(shè)備,這樣您就可以在各種設(shè)備上以及各個AndroidAPI級別測試您的應(yīng)用,而無需擁有每個實體設(shè)備。
模擬器幾乎可以提供真正的Android設(shè)備所具備的所有功能。您可以模擬來電和短信、指定設(shè)備的位置、模擬不同的網(wǎng)速、模擬旋轉(zhuǎn)及其他硬件傳感器、訪問GooglePlay商店,等等。從某些方面來看,在模擬器上測試應(yīng)用比在實體設(shè)備上測試要更快、更容易。例如,將數(shù)據(jù)傳輸?shù)侥M器的速度比傳輸?shù)酵ㄟ^USB連接的設(shè)備更快。
本次演示與使用的是“夜神模擬器”。夜神安卓模擬器是一款采用類手機界面視覺設(shè)計的PC端桌面軟件,采用世界領(lǐng)先的內(nèi)核技術(shù)(基于Android7.1.2版本內(nèi)核針在電腦上運行深度開發(fā)),具有同類模擬器中較快的運行速度和較穩(wěn)定的性能。情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.1.下載軟件
官網(wǎng)下載地址:1.2.安裝軟件
運行下載的Fiddler安裝包:nox_setup_v_full.exe,選定安裝地址,默認安裝即可,安裝成功后啟動效果如圖3-15所示。
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.2.安裝軟件
圖3-15夜神模擬器啟動效果情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.模擬器配置
默認啟動的模擬器默認是平板版本,不方便也不適宜APP的操作,所以需要調(diào)整軟件設(shè)置。找到瀏覽器設(shè)置中的性能設(shè)置下的分辨率設(shè)置,首先將其設(shè)置為手機版;再根據(jù)橫屏或縱屏的配置選擇分辨率,本次設(shè)置為1080x1920,設(shè)置效果如圖3-16。
圖3-16分辨率設(shè)置情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備
Fiddler安裝與配置1.3.模擬器配置
重啟模擬器,效果如圖3-17。
圖3-17重啟模擬器情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)PART03案例講解情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)案例講解APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
實例:“獲取騰訊新聞APP新聞列表”。
圖3-18可視化會話傳輸時間線情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)案例講解APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
步驟:確定目標應(yīng)用關(guān)聯(lián)Fiddler和模擬器分析并確定目標數(shù)據(jù)安裝環(huán)境構(gòu)建項目編寫數(shù)據(jù)采集程序運行程序情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
1.確定目標應(yīng)用
爬取網(wǎng)頁數(shù)據(jù)和爬取APP應(yīng)用數(shù)據(jù)在過程中有所不同,所以過程描述會有所偏差,請大家先理解APP數(shù)據(jù)爬取的原理。
在確定正式數(shù)據(jù)之前,先選定應(yīng)用。我們明確目標數(shù)據(jù)是新聞類數(shù)據(jù)列表,所以將APP類型限定在新聞類中,并在此基礎(chǔ)上選定了“騰訊新聞APP”作為演示案例。
下載并安裝騰訊新聞APP,打開騰訊新聞APP首頁如圖3-18所示??梢钥吹津v訊新聞將新聞內(nèi)容分為了:要聞、視頻、推薦、東莞、抗議、娛樂、體育、游戲、軍事、NBA等等。我們以首頁要聞為例展示操作。
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
2.關(guān)聯(lián)Fiddler和模擬器
在手機應(yīng)用中,無法像Web一樣打開調(diào)試工具,并定位數(shù)據(jù)源。要進行數(shù)據(jù)源分析和目標數(shù)據(jù)確立,我們需要使用額外的網(wǎng)絡(luò)定位和分析工具:Fiddler。所以,首先需要關(guān)聯(lián)Fiddler和模擬器,以便于定位和分析網(wǎng)絡(luò)數(shù)據(jù)。
需要執(zhí)行以下步驟:
a.獲取Fiddler所在機器IP在現(xiàn)有Fiddler配置的基礎(chǔ)上綁定模擬器,只需要將模擬器和Fiddler綁定在一個網(wǎng)段和端口上即可監(jiān)聽網(wǎng)絡(luò)變化,所以首先要知道Fiddler所在機器IP地址,可以使用命令獲取,以下是相關(guān)指令:$ipconfig情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
2.關(guān)聯(lián)Fiddler和模擬器獲取IP地址效果如圖3-19:
圖3-19獲取IP地址情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
2.關(guān)聯(lián)Fiddler和模擬器b.配置模擬器網(wǎng)絡(luò)打開模擬器,進入設(shè)置中的WLAN。長按已連接WIFI,修改網(wǎng)絡(luò)配置,位置如圖3-20所示。
圖3-20配置模擬器網(wǎng)絡(luò)情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
2.關(guān)聯(lián)Fiddler和模擬器b.配置模擬器網(wǎng)絡(luò)
圖3-21WIFI代理配置情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
2.關(guān)聯(lián)Fiddler和模擬器c.驗證關(guān)聯(lián)狀態(tài)分別打開Fiddler和模擬器,清空所有數(shù)據(jù)及進程,打開“騰訊新聞APP”,查看Fiddler頁面效果,效果如圖3-22所示:
圖3-22模擬器與Fiddler關(guān)聯(lián)驗證情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
2.關(guān)聯(lián)Fiddler和模擬器c.驗證關(guān)聯(lián)狀態(tài)可以看到Fiddler中可以截取到Process為noxvmhandle:13652,表明可以監(jiān)聽到模擬器網(wǎng)絡(luò)操作,關(guān)聯(lián)成功。情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
3.分析并確定目標數(shù)據(jù)
關(guān)聯(lián)成功,并獲取到一系列模擬器網(wǎng)絡(luò)操作數(shù)據(jù)。接下來,我們就需要從這一系列的網(wǎng)絡(luò)請求中過濾出我們的目標數(shù)據(jù):新聞列表。經(jīng)過Fiddler的過濾、排序等操作,最終查找到騰訊新聞APP請求Host為
,新聞列表請求為:/getQQNewsUnreadList?chlid=news_news_top&page=0&channelPosition=0&forward=2&last_id=20210505V02Q5700&last_time=1620276099&user_chlid=news_news_recommend,news_news_dg,news_news_antip,news_news_ent,news_news_sports,news_news_game,news_news_mil&lc_ids=TWF2021050600229600,20210506V02XF400,20210505A00K3100,NEW2016111603351800&showed_rec_channels=&hot_module_user_switch=0&needSpreadAds=1&rtAd=1&new_user=0&omgid=c3d0c6a4e417bd456c5a4d07fae0aa027026001021631e&QIMEI36=286d998beb989d32e8e7c1b2100018f15415&devid=172b5a0b62909ee5&appver=25_android_6.3.50&uid=172b5a0b62909ee5&trueVersion=6.3.50&suid=8gMc3n5d6IwYsTva4QZy&qimei=866174917877926&Cookie=lskey%3D;skey%3D;uin%3D;%20luin%3D;logintype%3D0;%20suid%3D8gMc3n5d6IwYsTva4QZy;%20main_login%3D;%20&qn-sig=b544dc57120268c1fac32f80638cec24&qn-rid=1005_eb520e15-b16f-48b0-88c2-97ee380089b5&qn-newsig=cf071c082b9f225834472152cae7b389ebef702b833217db8b6ff69c24ef84f4,具體定位效果如圖3-23所示。情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
3.分析并確定目標數(shù)據(jù)
圖3-23定位騰訊新聞列表情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
3.分析并確定目標數(shù)據(jù)
網(wǎng)絡(luò)接口請求響應(yīng)數(shù)據(jù)為JSON格式,數(shù)據(jù)結(jié)構(gòu)樣式如圖3-24所示。
圖3-24騰訊新聞列表接口數(shù)據(jù)情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
3.分析并確定目標數(shù)據(jù)
經(jīng)過以上過程分析,得到結(jié)論:騰訊新聞APP數(shù)據(jù)交互是通過HTTPS網(wǎng)絡(luò)接口,POST方式傳輸參數(shù),獲取JSON格式數(shù)據(jù)的過程,我們只需要定位到具體接口地址,就可以獲取到想要的數(shù)據(jù)了。根據(jù)數(shù)據(jù)交互結(jié)果數(shù)據(jù)結(jié)構(gòu),得到本次新聞列表數(shù)據(jù)結(jié)構(gòu)字段有:id、標題、長標題、新聞來源、查看數(shù)、評論數(shù)、標簽、新聞類型、質(zhì)量評分、發(fā)布時間、縮略圖、大圖、詳情地址。
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
4.安裝環(huán)境
本次項目使用環(huán)境為以下內(nèi)容:本地語言環(huán)境:Python3.8編譯工具:PyCharm2021.2網(wǎng)絡(luò)請求框架:Requests2.25.1網(wǎng)頁解析框架:JSON數(shù)據(jù)存儲框架:CSV
情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
5.構(gòu)建項目
在準備工作都完成之后,即可通過工具PyCharm構(gòu)建項目,并開始進行項目開發(fā)了。使用PyCharm構(gòu)建基本Python項目:Learning_Situation_6,效果如圖3-25所示。
圖3-25構(gòu)建項目情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
6.編寫數(shù)據(jù)采集程序
在創(chuàng)建的項目:Learning_Situation_6中構(gòu)建網(wǎng)頁爬蟲程序,以下是具體操作步驟。6.1.構(gòu)建可執(zhí)行文件
創(chuàng)建網(wǎng)絡(luò)爬蟲可執(zhí)行文件:spider_app_qqnews.py.py。6.2.導(dǎo)入模塊importrequestsimportjsonimportcsvfromfake_useragentimportUserAgent情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
6.編寫數(shù)據(jù)采集程序6.3.構(gòu)建網(wǎng)絡(luò)請求函數(shù)#網(wǎng)絡(luò)請求函數(shù)->網(wǎng)絡(luò)接口數(shù)據(jù)defgetData(url,headers=headers):#HttpPOST網(wǎng)絡(luò)請求resp=requests.post(url=url,data=data,headers=headers)#指定網(wǎng)絡(luò)請求響應(yīng)編碼resp.encoding='UTF-8'#返回接口響應(yīng)數(shù)據(jù)對應(yīng)的JSON對象returnresp.json()情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
6.編寫數(shù)據(jù)采集程序
6.4.構(gòu)建新聞數(shù)據(jù)對象
具體代碼跟隨課件對應(yīng)章節(jié)代碼。6.5.構(gòu)建新聞列表解析函數(shù)defanalizesData(json):list=[]foriteminjson['newslist']:ifitem['articletype']=='525':foriteinitem['newsModule']['newslist']:list.append(analizesNews(item=ite))else:list.append(analizesNews(item=item))returnlist情境一:使用Fiddler+Requests爬取新聞類APP接口數(shù)據(jù)知識準備APP網(wǎng)絡(luò)爬蟲的實際項目開發(fā)
6.編寫數(shù)據(jù)采集程序6.6.構(gòu)建單條新聞解析函數(shù)
具體代碼跟隨課件對應(yīng)章節(jié)代碼6.7.構(gòu)建數(shù)據(jù)存儲函數(shù)定義數(shù)據(jù)存儲函數(shù),將所有QQNews對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZGXK 024-2024 青儲玉米品種試驗規(guī)范
- 二零二五年度企業(yè)代為管理員工社保繳費及報銷流程合同
- 二零二五年度購房按揭貸款利率調(diào)整合同
- 2025年度酒店入住智能家居體驗合同
- 2025年度汽車零部件訂車合同違約賠償標準及責任界定
- 二零二五年度公寓樓出租合同樣本(含精裝修、家具家電及物業(yè)費)
- 二零二五年度醫(yī)院藥劑科藥品配送與勞務(wù)合作合同
- 二零二五年度臨時項目經(jīng)理聘用與項目風險預(yù)警協(xié)議
- 二零二五年度租賃型住房委托管理服務(wù)合同
- 二零二五年度旅游產(chǎn)業(yè)投資合作框架協(xié)議
- 生 物植物的三大作用-說課課件-2024-2025學年人教版生物七年級上冊
- 2024年新課標卷高考化學試卷試題真題答案詳解(精校打印版)
- 500-3000總噸船舶大副培訓(xùn)大綱(2021版)
- 2024至2030年中國錢幣類收藏品行業(yè)市場前景調(diào)查及投融資戰(zhàn)略研究報告
- 三級安全培訓(xùn)考試題附參考答案(滿分必刷)
- 高一英語完形填空專項訓(xùn)練100(附答案)及解析
- 機房基礎(chǔ)設(shè)施運行維護管理標準規(guī)范
- 老年心房顫動診治中國專家共識(2024)解讀
- 部編版八年級上冊歷史期中復(fù)習重點總結(jié)
- 2024年揚州市職業(yè)大學單招職業(yè)適應(yīng)性測試題庫1套
- 消防安全技術(shù)綜合能力要點概述
評論
0/150
提交評論