怎么加载csv_python爬虫入门实战(四)!爬取动态加载的页面
今天的主題是爬取動態網頁的經驗分享,以cocos論壇為例子進行分享。(官方不會打我吧 )
配置環境
為什么選擇cocos論壇呢?因為自己在瀏覽論壇時,發現標題內容會隨著滾動條的位置而動態添加。
環境: python3 + requests 。還要引入幾個系統庫。參考如下:
分析網頁
以chrome瀏覽器為例,空白處 右鍵->檢查 進入網頁分析模式,選擇 Network 中的XHR,滾動條往下滾,觀察右側加載了什么文件。
在網頁分享模式下,點擊剛才下載的文件,查看里面的內容,發現對一個地址使用了GET方法,并傳入了頁碼的參數。
再看看返回的內容是一個json字符串。
這個 json字符串里就有我們想要內容。一起看下如何用requests 發送參數,并返回Json 結果。
只需要根據地址,傳入一個 headers 告訴網頁我們要接收json字符串。
解析json
json是一種數據存儲格式,可以被多種語言解析,一般用于數據傳輸。
由前一張圖,可以看到所有文章列表在topic_list的topics中,一起看看 python3 是怎么解析的。
其中的鏈接地址可以通過打開幾個論壇內容找到規律,是由 slug 和 id 這兩個字段拼接的。
最后使用多線程 和 csv 存儲結果。(不清楚的話可以看看之前的文章哦。python爬蟲入門實戰(三)不會正則怎么辦?xpath分分鐘搞定 和 python爬蟲入門實戰(二)!快!快!快!讓爬蟲贏在起跑線!多線程)
最后,看看最終效果吧!
小結
對于動態生成的內容,我們可以通過網頁分享中下載的文件分析,并通過requests模塊模擬headers 和發送參數方法獲取數據。
這是我學到的新技能哦!如有錯誤或其他想法,歡迎留言!如果我又學到新的東西,會第一時間分享給大家哦!點個關注不迷路!
以上內容僅供個人學習使用,請勿用于商業用途。
我是白玉無冰,游戲開發小赤佬,也玩python和shell
總結
以上是生活随笔為你收集整理的怎么加载csv_python爬虫入门实战(四)!爬取动态加载的页面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: openlayer xyz加载_webG
- 下一篇: linux 升级mysql版本 lamp