最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3爬蟲中關于Ajax分析方法的總結

 更新時間:2020年07月10日 14:55:12   作者:愛喝馬黛茶的安東尼  
在本篇文章里小編給大家整理的是一篇關于Python3爬蟲中關于Ajax分析方法的總結,需要的朋友們可以學習下。

這里還以前面的微博為例,我們知道拖動刷新的內容由Ajax加載,而且頁面的URL沒有變化,那么應該到哪里去查看這些Ajax請求呢?

1. 查看請求

這里還需要借助瀏覽器的開發(fā)者工具,下面以Chrome瀏覽器為例來介紹。

首先,用Chrome瀏覽器打開微博的鏈接https://m.weibo.cn/u/2830678474,隨后在頁面中點擊鼠標右鍵,從彈出的快捷菜單中選擇“檢查”選項,此時便會彈出開發(fā)者工具,如圖6-2所示:

8ede1554a18ea57eb8b3e0a9e1ea268.png

此時在Elements選項卡中便會觀察到網頁的源代碼,右側便是節(jié)點的樣式。

不過這不是我們想要尋找的內容。切換到Network選項卡,隨后重新刷新頁面,可以發(fā)現這里出現了非常多的條目,如圖6-3所示。

7347cacb4cf036fd1e2539e6b37252a.png

前面也提到過,這里其實就是在頁面加載過程中瀏覽器與服務器之間發(fā)送請求和接收響應的所有記錄。

Ajax其實有其特殊的請求類型,它叫作xhr。在圖6-3中,我們可以發(fā)現一個名稱以getIndex開頭的請求,其Type為xhr,這就是一個Ajax請求。用鼠標點擊這個請求,可以查看這個請求的詳細信息,如圖6-4所示。

6b76cca50287683be4a2270b47d9f25.png

在右側可以觀察到其Request Headers、URL和Response Headers等信息。其中Request Headers中有一個信息為X-Requested-With:XMLHttpRequest,這就標記了此請求是Ajax請求,如圖6-5所示。

ae9d01347dfabd89687948505e01de1.png

隨后點擊一下Preview,即可看到響應的內容,它是JSON格式的。這里Chrome為我們自動做了解析,點擊箭頭即可展開和收起相應內容,如圖6-6所示。

3ac72172652c9cf4262ba6362dfc3dd.png

觀察可以發(fā)現,這里的返回結果是我的個人信息,如昵稱、簡介、頭像等,這也是用來渲染個人主頁所使用的數據。JavaScript接收到這些數據之后,再執(zhí)行相應的渲染方法,整個頁面就渲染出來了。

另外,也可以切換到Response選項卡,從中觀察到真實的返回數據,如圖6-7所示。

48e0d6b7d27a5198f94a7479dcefe42.png

接下來,切回到第一個請求,觀察一下它的Response是什么,如圖6-8所示。

841bc2e8347423785a041f30bba932b.png

這是最原始的鏈接https://m.weibo.cn/u/2830678474返回的結果,其代碼只有不到50行,結構也非常簡單,只是執(zhí)行了一些JavaScript。

所以說,我們看到的微博頁面的真實數據并不是最原始的頁面返回的,而是后來執(zhí)行JavaScript后再次向后臺發(fā)送了Ajax請求,瀏覽器拿到數據后再進一步渲染出來的。

2. 過濾請求

接下來,再利用Chrome開發(fā)者工具的篩選功能篩選出所有的Ajax請求。在請求的上方有一層篩選欄,直接點擊XHR,此時在下方顯示的所有請求便都是Ajax請求了,如圖6-9所示。

7146e82314367f4e8e5dd3665ae9387.png

接下來,不斷滑動頁面,可以看到頁面底部有一條條新的微博被刷出,而開發(fā)者工具下方也一個個地出現Ajax請求,這樣我們就可以捕獲到所有的Ajax請求了。

隨意點開一個條目,都可以清楚地看到其Request URL、Request Headers、Response Headers、Response Body等內容,此時想要模擬請求和提取就非常簡單了。

圖6-10所示的內容便是我的某一頁微博的列表信息。

35287876f572b5d14186d70da5f3730.png

到現在為止,我們已經可以分析出來Ajax請求的一些詳細信息了,接下來只需要用程序模擬這些Ajax請求,就可以輕松提取我們所需要的信息了。

在下一節(jié)中,我們用Python實現Ajax請求的模擬,從而實現數據的抓取。

以上就是Python3爬蟲中關于Ajax分析方法的總結的詳細內容,更多關于Python3爬蟲里Ajax分析方法的資料請關注腳本之家其它相關文章!

相關文章

  • python子線程退出及線程退出控制的代碼

    python子線程退出及線程退出控制的代碼

    這篇文章主要介紹了python子線程退出及線程退出控制的代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • python筆記(1) 關于我們應不應該繼續(xù)學習python

    python筆記(1) 關于我們應不應該繼續(xù)學習python

    關于Python,如果你要學習,建議大家查看一下網站:因為本人也是剛剛決定收集點零碎時間來學習下它,推薦可能并不是最好的
    2012-10-10
  • Pandas實現一列數據分隔為兩列

    Pandas實現一列數據分隔為兩列

    這篇文章主要介紹了Pandas實現一列數據分隔為兩列,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python爬取豆瓣數據實現過程解析

    Python爬取豆瓣數據實現過程解析

    這篇文章主要介紹了Python爬取豆瓣數據實現過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • python+logging+yaml實現日志分割

    python+logging+yaml實現日志分割

    這篇文章主要為大家詳細介紹了python+logging+yaml實現日志分割,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Python openpyxl讀取單元格字體顏色過程解析

    Python openpyxl讀取單元格字體顏色過程解析

    這篇文章主要介紹了Python openpyxl讀取單元格字體顏色過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • python標準庫ElementTree處理xml

    python標準庫ElementTree處理xml

    這篇文章主要為大家介紹了python標準庫ElementTree處理xml的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python Sleep休眠函數使用簡單實例

    Python Sleep休眠函數使用簡單實例

    這篇文章主要介紹了Python Sleep休眠函數使用簡單實例,本文直接給出兩個實現例子,需要的朋友可以參考下
    2015-02-02
  • Python 實現反轉整數的案例(很容易懂的那種)

    Python 實現反轉整數的案例(很容易懂的那種)

    這篇文章主要介紹了Python 實現反轉整數的案例(很容易懂的那種),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • pandas將numpy數組寫入到csv的實例

    pandas將numpy數組寫入到csv的實例

    今天小編就為大家分享一篇pandas將numpy數組寫入到csv的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評論

仁怀市| 遂溪县| 广东省| 樟树市| 吉隆县| 乌鲁木齐市| 信丰县| 二手房| 清徐县| 正阳县| 南雄市| 延吉市| 垫江县| 北碚区| 永胜县| 靖安县| 乌兰县| 榕江县| 南部县| 西平县| 安溪县| 长兴县| 河间市| 合水县| 祥云县| 滦平县| 枣阳市| 同江市| 鹤峰县| 紫阳县| 济源市| 砚山县| 沧州市| 宝清县| 类乌齐县| 陆川县| 朝阳市| 石景山区| 甘洛县| 淮安市| 嘉黎县|