最近最學習爬蟲,今天我們來看下如何爬取西瓜視頻的地址。
本文閱讀指導,爬蟲基於chrome瀏覽器F12開發工具進行的,需要知道關於chrome瀏覽器F12基礎的功能,不瞭解的童鞋請移步:【Python】Chrome瀏覽器F12開發者工具使用
本文會用到兩個在線工具:
json解析工具:https://www.json.cn/
base64解析工具:https://www.sojson.com/base64.html
好了,瞭解完的童鞋咱們往下走。
一、基礎流程
1、獲取到視頻瀑布流
2、獲取到詳情視頻的地址
3、寫入文件
二、獲取視頻瀑布流
1、通過F12開發工具獲取到詳情url
點擊那個鼠標圖標,鼠標移動到頁面(cf大頭模式),這樣就能獲取到頁面對應源碼位置。
點擊進入詳情頁,可以看到詳情頁url跟href地址相差“https://www.ixigua.com/”而已。
2、通過F12開發工具獲取到瀑布流url
基本流程是:network -->XHR-->Headers-->Resporse
大家可能看到的數據是這樣的,告訴大家一個好方法。直接雙擊左邊的鏈接就能跳轉如下。
然後用到在線工具json解析工具,將上文全部複製粘貼到在線工具中去。就會給你在右邊給你解析出來。
這樣就獲取到了瀑布流詳情,在對比詳情頁url。很容易猜測到時將videoId加上“https://www.ixigua.com/i”補全成https://www.ixigua.com/i+videoId
如下,補全爲:
https://www.ixigua.com/i6723828592565813768
3、測試
將上面補全後的url輸入到瀏覽器回車,發現跟猜測的是一模一樣。
三、獲取到詳情視頻的地址
這一章節參考:https://www.jianshu.com/p/6ca1344a09db
但是,不能直接拿下來用。好幾處細節需要修改。
1、需要驗證url是否很有效
驗證如下url是否還是能夠返回串。
如下:此時驗證還是可以的。
然後同樣的拷貝到json解析數據。如下圖。
2、獲取video_id
用作者的方法查詢video_id得到
最後得到過濾 "vid":" *** " 這個字符串。
然後修改代碼如下。
def get_video_id(url):
#獲取視頻id
resp = requests.get(url, headers=headers)
# 獲取video_id
#print(resp.text)
search = re.search("\"vid\":\"([^\"]+)\",", resp.text)
print(search.group(1))
return search.group(1)
四、源碼
結束語
以上就是對爬取西瓜視頻url的一點心得,希望對你有用。歡迎大家關注我們微信公衆號,來交流程序員的技術。如果能留言或者點個贊,我也是很開心的,非常感謝!
參考:https://www.jianshu.com/p/6ca1344a09db
侵刪,謝謝!