python爬虫动态解析js_Python爬虫实战入门五:获取JS动态内容—爬取今日头条
F12打開網頁調試工具:
選擇“網絡”選項卡后,發現有很多響應,我們篩選一下,只看XHR響應。(XHR是Ajax中的概念,表示XMLHTTPrequest)然后我們發現少了很多鏈接,隨便點開一個看看:我們選擇city,預覽中有一串json數據:
我們再點開看看:
原來全都是城市的列表,應該是加載地區新聞之用的?,F在大概了解了怎么找JS請求的接口的吧?但是剛剛我們并沒有發現想要的新聞,再找找看:有一個focus,我們點開看看:
與首頁的圖片新聞呈現的數據是一樣的,那么數據應該就在這里面了。
看看其他的鏈接:
這應該是熱搜關鍵詞
這個就是圖片新聞下面的新聞了。
我們打開一個接口鏈接看看:http://www.toutiao.com/api/pc/focus/
返回一串亂碼,但從響應中查看的是正常的編碼數據:
有了對應的數據接口,我們就可以仿照之前的方法對數據接口進行請求和獲取響應了2、請求和解析數據接口數據
先上完整代碼:#?coding:utf-8
import?requests
import?json
url?=?'http://www.toutiao.com/api/pc/focus/'
wbdata?=?requests.get(url).text
data?=?json.loads(wbdata)
news?=?data['data']['pc_feed_focus']
for?n?in?news:
title?=?n['title']
??img_url?=?n['image_url']????
url?=?n['media_url']
??print(url,title,img_url)
返回出來的結果如下:
照例,稍微講解一下代碼:
代碼分為四部分,
第一部分:引入相關的庫#?coding:utf-8
import?requests
import?json
第二部分:對數據接口進行http請求url?=?'
wbdata?=?requests.get(url).text
第三部分:對HTTP響應的數據JSON化,并索引到新聞數據的位置data?=?json.loads(wbdata)
news?=?data['data']['pc_feed_focus']
第四部分:對索引出來的JSON數據進行遍歷和提取for?n?in?news:
title?=?n['title']
??img_url?=?n['image_url']????
url?=?n['media_url']
??print(url,title,img_url)
如此,就完成了從JS網頁中爬取數據。如有幫助,歡迎微信打賞微信公眾號
州的先生
總結
以上是生活随笔為你收集整理的python爬虫动态解析js_Python爬虫实战入门五:获取JS动态内容—爬取今日头条的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第5次基金申请终于中了!这个血泪教训一定
- 下一篇: delphi中的函数传参如何传枚举参数_