用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

綜述

根據網站結構及數據類型,做出頭條視頻的爬蟲,重點說明數據在網站的位置以及抓取辦法

並介紹一個類似的網站,簡單說明數據抓取辦法

使用工具: python3.6 + pycharm + requests庫 + re 庫

Python學習資料或者需要代碼、視頻加Python學習群:960410445

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

目標情況

這次我們的目標網站,是ajax加載的數據,首先,打開網頁後,直接用瀏覽器(火狐)自帶的開發者工具,點擊網路,然後下滑網頁,點擊xhr,找到json數據,可以看到大概有100條內容

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

里面有每一個視頻的相關信息,我們只需要取出每一個視頻的url即可!然後在去看看詳情頁的情況

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

非常簡單的就找到了視頻的真實地址!復制地址重新打開一個網頁去驗證一下,確認地址無誤,那麼就去源代碼中看看,該地址是否存在吧

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

很明顯,這個網站並不是靜態的網站,而且數據應該存放在js文件中,那麼我們怎麼得到它呢~?需要分析js文件還是用selenium呢?不要著急,偶然的情況下,發現了這個

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

有沒有發現,在url中的關鍵字,是存在於網頁源代碼中的,雖然不是完全一樣,但是我們可以和前面的那個標籤中內容,對比下

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

可以判定,這里的值就是網頁渲染後出現在html標籤中的值,而且在源代碼中它存在2個不同格式的視頻地址!,這就很簡單了,我們來寫代碼吧!

代碼做到

簡單寫了一下,直接用requests請求內容,然後用re匹配,取出目標url

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

類似網站

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

其實還有一個網站和這種情況很像,那就是秒拍視頻,但是如果你想看更多的視頻的話,還是需要打開客戶端,所以我們就簡單的以一個視頻為例,抓出它的真實地址!具體過程就不一一說明了,就直接看結果吧,先看目標網頁

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

用關鍵字在源代碼中查找

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

最終代碼

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

驗證結果

用Python抓取頭條視頻內容,數據其實並沒有藏那麼深

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!