導航:首頁 > 數據處理 > 爬蟲如何爬百萬數據

爬蟲如何爬百萬數據

發布時間:2023-05-25 15:27:15

1. 如何爬取京東手機上萬的商品數據,這個神器可以幫你

Charles是一個網路抓包工具,我們可以用它來做App的抓包分析,得到App運行過程中發生的所有網路請求和響應內容,這就和Web端瀏覽器的開發者工具Network部分看到的結果一致。

相比Fiddler來說,Charles的功能更強大,而且跨平台支持更好。所以我們選用Charles作為主要的移動端抓包工具,用於分析移動App的數據包,輔助完成App數據抓取工作。

一、本節目標

本節我們以京東App為例,通過Charles抓取App運行過程中的網路數據包,然後查看具體的Request和Response內容,以此來了解Charles的用法。

二、准備工作

請確保已經正確安裝Charles並開啟了代理服務,手機和Charles處於同一個區域網下,Charles代理和CharlesCA證書設置好。

三、原理

首先Charles運行在自己的PC上,Charles運行的時候會在PC的8888埠開啟一個代理服務,這個服務實際上是一個HTTP/HTTPS的代理。

確保手機和PC在同一個區域網內,我們可以使用手機模擬器通過虛擬網路連接,也可以使用手機真機和PC通過無線網路連接。

設置手機代理為Charles的代理地址,這樣手機訪問互聯網的數據包就會流經Charles,Charles再轉發這些數據包到真實的伺服器,伺服器返回的數據包再由Charles轉發回手機,Charles就起到中間人的作用,所有流量包都可以捕捉到,因此所有HTTP請求和響應都可以捕獲到。同時Charles還有權力對請求和響應進行修改。

四、抓包

初始狀態下Charles的運行界面如下圖所示。

Charles會一直監聽PC和手機發生的網路數據包,捕獲到的數據包就會顯示在左側,隨著時間的推移,捕獲的數據包越來越多,左側列表的內容也會越來越多。

可以看到,圖中左側顯示了Charles抓取到的請求站點,我們點擊任意一個條目便可以查看對應請求的詳細信息,其中包括Request、Response等內容。

接下來清空Charles的抓取結果,點擊左側的掃帚按鈕即可清空當前捕獲到的所有請求。然後點擊第二個監聽按鈕,確保監聽按鈕是打開的,這表示Charles正在監聽App的網路數據流,如下圖所示。

這時打開手機京東,注意一定要提前設置好Charles的代理並配置好CA證書,否則沒有效果。

打開任意一個商品,如iPhone,然後打開它的商品評論頁面,如下圖示。

不斷上拉載入評論,可以看到Charles捕獲到這個過程中京東App內發生的所有網路請求,如下圖所示。

左側列表中會出現一個api.m.jd.com鏈接,而且它在不停閃動,很可能就是當前App發出的獲取評論數據的請求被Charles捕獲到了。我們點擊將其展開,繼續上拉刷新評論。隨著上拉的進行,此處又會出現一個個網路請求記錄,這時新出現的數據包請求確定就是獲取評論的請求。

為了驗證其正確性,我們點擊查看其中一個條目的詳情信息。切換到Contents選項卡,這時我們發現一些JSON數據,核對一下結果,結果有commentData欄位,其內容和我們在App中看到的評論內容一致,如下圖所示。

這時可以確定,此請求對應的介面就是獲取商品評論的介面。這樣我們就成功捕獲到了在上拉刷新的過程中發生的請求和響應內容。

五、分析

現在分析一下這個請求和響應的詳細信息。首先可以回到Overview選項卡,上方顯示了請求的介面URL,接著是響應狀態Status Code、請求方式Method等,如下圖所示。

這個結果和原本在Web端用瀏覽器開發者工具內捕獲到的結果形式是類似的。

接下來點擊Contents選項卡,查看該請求和響應的詳情信息。

上半部分顯示的是Request的信息,下半部分顯示的是Response的信息。比如針對Reqeust,我們切換到Headers選項卡即可看到該Request的Headers信息,針對Response,我們切換到JSON TEXT選項卡即可看到該Response的Body信息,並且該內容已經被格式化,如下圖所示。

由於這個請求是POST請求,我們還需要關心POST的表單信息,切換到Form選項卡即可查看,如下圖所示。

這樣我們就成功抓取App中的評論介面的請求和響應,並且可以查看Response返回的JSON數據。

至於其他App,我們同樣可以使用這樣的方式來分析。如果我們可以直接分析得到請求的URL和參數的規律,直接用程序模擬即可批量抓取。

六、重發

Charles還有一個強大功能,它可以將捕獲到的請求加以修改並發送修改後的請求。點擊上方的修改按鈕,左側列表就多了一個以編輯圖標為開頭的鏈接,這就代表此鏈接對應的請求正在被我們修改,如下圖所示。

我們可以將Form中的某個欄位移除,比如這里將partner欄位移除,然後點擊Remove。這時我們已經對原來請求攜帶的Form Data做了修改,然後點擊下方的Execute按鈕即可執行修改後的請求,如下圖所示。

可以發現左側列表再次出現了介面的請求結果,內容仍然不變,如下圖所示。

刪除Form表單中的partner欄位並沒有帶來什麼影響,所以這個欄位是無關緊要的。

有了這個功能,我們就可以方便地使用Charles來做調試,可以通過修改參數、介面等來測試不同請求的響應狀態,就可以知道哪些參數是必要的哪些是不必要的,以及參數分別有什麼規律,最後得到一個最簡單的介面和參數形式以供程序模擬調用使用。

七、結語

以上內容便是通過Charles抓包分析App請求的過程。通過Charles,我們成功抓取App中流經的網路數據包,捕獲原始的數據,還可以修改原始請求和重新發起修改後的請求進行介面測試。

知道了請求和響應的具體信息,如果我們可以分析得到請求的URL和參數的規律,直接用程序模擬即可批量抓取!

手機爬蟲非常有意思,而且可以爬取的數據非常多,當然還有很多東西要學。以後我也會寫一些實戰的有趣案例給大家。

2. 如何應對網站反爬蟲策略如何高效地爬大量數據

應對反爬策略的方法:1、模擬正常用戶。反爬蟲機制還會利用檢測用戶的行為來判斷,例如Cookies來判斷是不是有效的用戶。

2、動態頁面限制。有時候發現抓取的信息內容空白,這是因為這個網站的信息是通過用戶的XHR動態返回內容信息。解決這種問題就要爬蟲程序對網站進行分析,找到內容信息並抓取,才能獲取內容。

3、降低IP訪問頻率。有時候平台為了阻止頻繁訪問,會設置IP在規定時間內的訪問次數,超過次數就會禁止訪問。所以繞過反爬蟲機制可以降低爬蟲的訪問頻率,還可以用IPIDEA代理IP換IP解決限制。

3. 如何一個月入門Python爬蟲,輕松爬取大規模數據

scrapy 是一個功能非常強大的爬蟲框架,它不僅能便捷地構建request,還有強大的 selector 能夠方便地解析 response,然而它最讓人驚喜的還是它超高的性能,讓你可以將爬蟲工程化、模塊化。

4. 如何爬蟲網頁數據

爬取網頁數據原理如下:
如果把互聯網比作蜘蛛網,爬蟲就是蜘蛛網上爬行的蜘蛛,網路節點則代表網頁。當通過客戶端發出任務需求命令時,ip將通過互聯網到達終端伺服器,找到客戶端交代的任務。一個節點是一個網頁。蜘蛛通過一個節點後,可以沿著幾點連線繼續爬行到達下一個節點。
簡而言之,爬蟲首先需要獲得終端伺服器的網頁,從那裡獲得網頁的源代碼,若是源代碼中有有用的信息,就在源代碼中提取任務所需的信息。然後ip就會將獲得的有用信息送回客戶端存儲,然後再返回,反復頻繁訪問網頁獲取信息,直到任務完成。

5. 如何用爬蟲爬取網頁上的數據

用爬蟲框架Scrapy, 三步
定義item類
開發spider類
開發pipeline
如果你想要更透的信息,你可以參考《瘋狂python講義》

6. 如何應對網站反爬蟲策略如何高效地爬大量數據

一、構建合理的HTTP請求頭
HTTP的請求頭是在你每次向網路伺服器發送請求時,傳遞的一組屬性和配置信息。由於瀏覽器和Python爬蟲發送的請求頭不同,有可能被反爬蟲檢測出來。

二、攜帆中設置cookie的學問
Cookie是一把雙刃劍,有它不行,沒它更不行。網站會通過cookie跟蹤你的訪問過程,辯山如果發現你有爬蟲行為會立刻中斷你的訪問,比如你特別快的填寫表單,或者短時間內瀏覽大量頁面。而正確地處理cookie,又可以避免很多採集問題,建議在採集網站過程中,檢查一下這些網站生成的cookie,然後想想哪一個是爬蟲需要處理的。

三、正常的時間訪問路徑
合理控轎棗制採集速度,是Python爬蟲不應該破壞的規則,盡量為每個頁面訪問時間增加一點兒間隔,可以有效幫助你避免反爬蟲。

四、使用http
對於分布式爬蟲和已經遭遇反爬蟲的人來說,使用http將成為你的首選。Ipidea分布地區廣,可滿足分布式爬蟲使用需要。支持api提取,對Python爬蟲來說再適合不過。

閱讀全文

與爬蟲如何爬百萬數據相關的資料

熱點內容
產品不被客戶認可怎麼辦 瀏覽:517
代理商如何銷售活動 瀏覽:636
佛山光伏批發市場在哪裡 瀏覽:698
產品質量不承認怎麼辦 瀏覽:302
哪些旅行軟體不泄露個人信息 瀏覽:446
電商產品如何做規劃 瀏覽:935
如何做好提問交易計劃 瀏覽:878
4月份最後一個交易日是多少號 瀏覽:46
游資有哪些交易情緒 瀏覽:590
菜市場不讓商戶的貨車進來怎麼辦 瀏覽:184
拼多多的產品如何投訴 瀏覽:152
外匯期貨交易一手可以賺多少 瀏覽:468
茶葉應用於哪些產品 瀏覽:641
期貨產品什麼時間開始的 瀏覽:211
和平精英如何提倡計量技術 瀏覽:432
麥吉麗代理費什麼時候能退 瀏覽:724
如何把自啟動程序變為服務 瀏覽:29
比起不回信息收到在忙哪個更傷心 瀏覽:659
龍華市場到深圳西站坐什麼車 瀏覽:659
怎麼回復百合信息 瀏覽:615