Python?超簡(jiǎn)潔且詳細(xì)爬取西瓜視頻案例
一、寫(xiě)在前面
真的,為什么別人發(fā)游戲這么多人看,我發(fā)了兩次了加起來(lái)才一百個(gè)。
算了算了,不整游戲了,反正你們也不愛(ài)看~

今天來(lái)試試把頭條上扭腰上熱門(mén)的那些妹子爬一爬,不知道我頂不頂?shù)米

二、準(zhǔn)備工作
1、使用的環(huán)境
- python 3.8
- pycharm 2021.2 專(zhuān)業(yè)版
2、要用的第三方模塊
- selenium
- requests
- parsel
三、大致流程
鑒于你們不喜歡我啰嗦,但是流程呢,我還是要給你們寫(xiě)出來(lái),所以我就單獨(dú)把它列出來(lái)了。

1、網(wǎng)站分析(明確需求)
在視頻網(wǎng)頁(yè)源代碼當(dāng)中找到 embedUrl 對(duì)應(yīng)的鏈接;
在鏈接當(dāng)中找到視頻播放地址,在元素面板當(dāng)中;
發(fā)現(xiàn)規(guī)律 embedUrl上面的 groupby_id 其實(shí)就是當(dāng)前視頻鏈接上的id,下載視頻的時(shí)候 就只需要 一個(gè) id 就可以下載視頻;(https://www.ixigua.com/embed?group_id=7029910152576926238)
2、代碼實(shí)現(xiàn)過(guò)程
- 構(gòu)建embedUrl https://www.ixigua.com/embed?group_id=7029910152576926238
- 使用selenium訪問(wèn)該鏈接提
- 取視頻鏈接地址
- 拼接視頻鏈接地址
- 使用requests發(fā)送請(qǐng)求 并且獲取視頻二進(jìn)制
- 數(shù)據(jù)保存視頻
如果大家在學(xué)習(xí)Python的過(guò)程中不知道學(xué)習(xí)方向,該怎么學(xué),沒(méi)有好的系統(tǒng)的學(xué)習(xí)資料、沒(méi)人交流解答等等,都可以私我,我都給大家準(zhǔn)備好了。

四、代碼展示分析
首先導(dǎo)入一下模塊
import requests from selenium import webdriver
進(jìn)入瀏覽器設(shè)置
options = webdriver.ChromeOptions()
1、構(gòu)建embedUrl https://www.ixigua.com/embed?group_id=7029910152576926238
group_id = input("請(qǐng)輸入你要下載視頻的id:")
url = 'https://www.ixigua.com/embed?group_id=' + group_id
無(wú)頭瀏覽器
options.add_argument("--headless")
加一個(gè)偽裝
options.add_argument('User-Agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"')
2、使用selenium訪問(wèn)該鏈接 driver: 瀏覽器
driver = webdriver.Chrome(executable_path="chromedriver.exe", options=options)
打開(kāi)一個(gè)網(wǎng)頁(yè)驅(qū)動(dòng)配置: 代碼操作瀏覽器的一個(gè)中間人
driver.get(url)
隱式等待: 最多等待五秒 如果一秒鐘加載完了 繼續(xù)執(zhí)行
driver.implicitly_wait(5)
3、提取視頻鏈接地址
info = driver.find_elements_by_xpath('//*[@id="player_default"]/xg-controls/xg-definition/ul/li[1]')
video_url = info[0].get_attribute("url")
4、拼接視頻鏈接地址
video_url = 'http:' + video_url
5、使用requests發(fā)送請(qǐng)求 并且獲取視頻二進(jìn)制數(shù)據(jù)
video_data = requests.get(video_url).content
with open('1.mp4', mode='wb') as f:
f.write(video_data)
所有代碼
import requests
from selenium import webdriver
# 進(jìn)入瀏覽器設(shè)置
options = webdriver.ChromeOptions()
# 1. 構(gòu)建embedUrl https://www.ixigua.com/embed?group_id=7029910152576926238
group_id = input("請(qǐng)輸入你要下載視頻的id:")
url = 'https://www.ixigua.com/embed?group_id=' + group_id
# 無(wú)頭瀏覽器
options.add_argument("--headless")
# 加一個(gè)偽裝
options.add_argument('User-Agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"')
# 2. 使用selenium訪問(wèn)該鏈接
# driver: 瀏覽器
driver = webdriver.Chrome(executable_path="chromedriver.exe", options=options)
# 打開(kāi)一個(gè)網(wǎng)頁(yè)
# 驅(qū)動(dòng)配置: 代碼操作瀏覽器的一個(gè)中間人
driver.get(url)
# 隱式等待: 最多等待五秒 如果一秒鐘加載完了 繼續(xù)執(zhí)行
driver.implicitly_wait(5)
# 3. 提取視頻鏈接地址
info = driver.find_elements_by_xpath('//*[@id="player_default"]/xg-controls/xg-definition/ul/li[1]')
video_url = info[0].get_attribute("url")
# 4. 拼接視頻鏈接地址
video_url = 'http:' + video_url
# 5. 使用requests發(fā)送請(qǐng)求 并且獲取視頻二進(jìn)制數(shù)據(jù)
video_data = requests.get(video_url).content
with open('1.mp4', mode='wb') as f:
f.write(video_data)
print("爬取成功!!!")
#留了報(bào)錯(cuò),看看大家夠不夠機(jī)智找出來(lái)
兄弟們看完覺(jué)得有幫助,記得點(diǎn)贊三連哇~

到此這篇關(guān)于Python 超簡(jiǎn)潔且詳細(xì)爬取西瓜視頻案例的文章就介紹到這了,更多相關(guān)Python 西瓜視頻內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python 給我一個(gè)鏈接西瓜視頻隨便下載爬蟲(chóng)
- Python 短視頻爬蟲(chóng)教程
- 深入探討Pandas數(shù)據(jù)清洗與高效分析
- Python爬蟲(chóng)實(shí)戰(zhàn)之虎牙視頻爬取附源碼
- Python爬蟲(chóng)小練習(xí)之爬取并分析騰訊視頻m3u8格式
- Python爬蟲(chóng)之m3u8文件里提取小視頻的正確姿勢(shì)
- Python爬蟲(chóng)之爬取嗶哩嗶哩熱門(mén)視頻排行榜
- Python爬蟲(chóng)爬取ts碎片視頻+驗(yàn)證碼登錄功能
- python爬蟲(chóng)爬取某網(wǎng)站視頻的示例代碼
- python爬蟲(chóng)線程池案例詳解(梨視頻短視頻爬取)
相關(guān)文章
tensorflow2.0如何實(shí)現(xiàn)cnn的圖像識(shí)別
這篇文章主要介紹了tensorflow2.0如何實(shí)現(xiàn)cnn的圖像識(shí)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
python中property屬性的介紹及其應(yīng)用詳解
這篇文章主要介紹了python中property屬性的介紹及其應(yīng)用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python 讀取dicom文件,生成info.txt和raw文件的方法
今天小編就為大家分享一篇python 讀取dicom文件,生成info.txt和raw文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
pandas系列之DataFrame 行列數(shù)據(jù)篩選實(shí)例
下面小編就為大家分享一篇pandas系列之DataFrame 行列數(shù)據(jù)篩選實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04

