国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Scrapy抓取虎牙視頻 —— 舞蹈

2023-03-14 17:00 作者:碼夫破石  | 我要投稿

目標站:https://v.huya.com/

環(huán)境

  • Windows 11

  • Pycharm

  • Python 3.8.9

  • Scrapy 2.7.1

思路:

  1. Scrapy的起始頁為:https://v.huya.com/。

  2. 頻道頁為:https://v.huya.com/g/all

  3. 網(wǎng)頁播放頁為:https://v.huya.com/play/840864137.html,但是通過瀏覽器的開發(fā)者工具并沒有發(fā)現(xiàn)Media的數(shù)據(jù);

  4. 用網(wǎng)頁開發(fā)者工具抓包發(fā)現(xiàn)播放請求的真是地址為:https://liveapi.huya.com/moment/getMomentContent?callback=jQuery1124031254075051677055_1678778517216&videoId=840864137&_=1678778517221

  5. callback后的參數(shù)不影響數(shù)據(jù),所以確定最終應該請求數(shù)據(jù)的網(wǎng)址為:https://liveapi.huya.com/moment/getMomentContent?videoId=840864137&_=1678778517221

  6. 上面網(wǎng)址出來的數(shù)據(jù)為類似Json格式的

  7. 將請求上方網(wǎng)頁的數(shù)據(jù)轉換成Json格式,拿到視頻真實的地址

  8. 通過Scrapy請求真實的視頻地址并下載

正文:

數(shù)據(jù)很多,不打算爬取整站,所以以舞蹈頁面為例。打開終端,切換到項目預存放的位置,如D:\Python Projects:

新建項目:

新建爬蟲:

用PyCharm打開項目文件夾(切換到項目文件夾,右鍵 —— Open Folder as PyCharm Project,也可以先打開PyCharm,然后將項目文件夾拖入)。如有必要,新建一個虛擬環(huán)境。我這里沒必要,用的是系統(tǒng)本身解釋器和依賴項。

第一步:

找到項目文件夾下的items.py,先來定義要爬取的字段。最終的目的是下載視頻,只需要兩個字段,一個是視頻的名稱,還有一個就是要請求下載的視頻url。代碼如下:

第二步:

找到項目文件夾下的spiders文件夾,選中剛剛創(chuàng)建的爬蟲huya.py。開始爬取內容:

第三步:

經(jīng)過上述,提取到數(shù)據(jù),就可以切換到項目文件夾下的pipelines.py文件,在其中定義一個類用來下載視頻以及重命名:

第四步:

寫好之后,在項目文件夾下的settings.py中開啟管道并定義下載存儲的位置:

打開終端,運行:

下載的視頻截圖:

猛然發(fā)現(xiàn)才爬一頁,繼續(xù)切換到爬蟲文件huya.py,在parse方法中定義一下翻頁邏輯:

翻頁的邏輯定義在next_page_urls那個地方,然后請求的時候給自己回調就行了。

如果要爬取整站,這個爬蟲模板就顯得吃力了??梢杂肧crapy的crawl爬蟲模板,制定出爬取規(guī)則,理論上就可以爬取整站了。

最后是翻頁爬取結果,爬了兩分半,下載了將近2G的視頻。速度還是蠻快的。

申明:本文僅是作者的筆記,僅供學習交流使用。

Scrapy抓取虎牙視頻 —— 舞蹈的評論 (共 條)

分享到微博請遵守國家法律
阳江市| 新乡市| 都兰县| 迁安市| 湖南省| 赤峰市| 麻城市| 莱阳市| 康马县| 永平县| 淳化县| 西充县| 忻城县| 岑溪市| 双峰县| 全州县| 神农架林区| 平南县| 广东省| 无为县| 喀什市| 江北区| 庆元县| 彰化市| 罗平县| 新郑市| 额济纳旗| 天峻县| 和林格尔县| 天等县| 盱眙县| 共和县| 抚州市| 贵南县| 崇文区| 定安县| 阿巴嘎旗| 三亚市| 大竹县| 左权县| 双流县|