最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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抓取虎牙視頻 —— 舞蹈的評論 (共 條)

分享到微博請遵守國家法律
西宁市| 疏勒县| 台南县| 塔河县| 南乐县| 嘉兴市| 蓬安县| 曲靖市| 淄博市| 宜章县| 固镇县| 吉水县| 十堰市| 新巴尔虎右旗| 巴中市| 个旧市| 阳东县| 长兴县| 扎兰屯市| 班玛县| 上蔡县| 张北县| 长宁县| 邵东县| 北京市| 绥宁县| 云阳县| 炉霍县| 凌海市| 五指山市| 张家口市| 华容县| 乌什县| 建瓯市| 新河县| 昌邑市| 铁岭市| 偃师市| 简阳市| 西平县| 马尔康县|