python批量下载b站_PYTHON批量下载B站视频小脚本
無聊廢話
最近在學習HCIE的視頻,收藏了幾個相關的視頻,結果前幾天。。。視頻被下架了了。。。呃。。。(⊙o⊙)…
視頻被下架
視頻被下架了。。。我學了一半呀。。。哭。。。
在網上一頓找,依舊找不到。。。
得不到的永遠在騷動。。。(歌詞。。。)
為了不讓自己重蹈覆轍所以我想把我想看的B站視頻在“偷偷的”下載下來。。。存到自己的硬盤里。。。嘿嘿嘿。。。
教學視頻嘿嘿嘿。。。
于是說干就干。。。不留遺憾。。。于是打開瀏覽器 → “如何下載B站視頻?” →enter
誒。。。這個是不錯
但是尼瑪我這里有213個視頻呀。。。
213個視頻
我怎么獲取下載鏈接呀?一個一個復制粘貼手會斷啊喂。。。
request太難,不會。。。
Beautifulsoup不會。。。
selenium嘿嘿嘿。。。還不手起刀落。。。個屁啊。。。為啥輸出有但是實際用Xpath就是沒結果呀。。。
算了,我只要一個網頁,程序搞不定的活,我搞,反正就一次,我真是天才。。。
好,人工獲取網頁源碼。。。。嗶。。。。
使用Xpath讀取我的網頁文件,然后獲取一大堆鏈接。然后獲取一個個鏈接的列表,so easy。。。
搞定。。。接下來就是到網址那里取下載啦。。。哈哈哈哈。。。
等等。。。213個。。。。
213個視頻
一個一個放到網站點下載,手會斷啊喂。。。
果然這個東西不是一次百度可以搞定的。既然如此,那就百度兩次。。。
打開瀏覽器 → “如何批量下載B站視頻?” →enter
使用簡單
OK,fork you!!!
fork you
嘿嘿嘿。。。不錯,就是你啦,不用圖形操作,只要提供一個鏈接即可下載B站視頻,就是你啦。。。(關鍵還能裝逼。。。嘿嘿。。。)
誒。。。等等,我怎們讓python運行cmd命令呀。。。
一頓百度,借鑒(copy)之后。。。腳本就寫好啦。。。
代碼
#coding=utf-8
import requests
import lxml
from lxml import etree
import os
import sys
import you_get
import time
#==========================配置參數====================
#html文件路徑
html_path = r'html.html'
#視頻保存路徑
path = r'G:\bilibili_flv'
#==========================配置參數====================
# 讀取html文件
html_doc = open(html_path).read()
# print(html_doc)
mytree = etree.HTML(html_doc)
# print(etree.tostring(mytree))
#用xpath提取下載鏈接形成list
url_list = mytree.xpath("/html/body/ul //@href")
# print(url_list)
print("列表長度:%s" % len(url_list))
#調用you-get下載視頻
def download(url, path):
sys.argv = ['you-get', '-o', path, url]
#使用代理命令: you-get -x 127.0.0.1:1080 [url]
you_get.main()
#上班時間等待
def waiting():
# 規定時間靜默
print("等待中。。。")
while True:
# str_time = time.strftime("%Y%m%d%H%M%S", time.localtime())
str_time = time.strftime("%H%M%S", time.localtime())
#9點15分-18點
if int(str_time) >= 91500 and int(str_time) <= 180000:
# print(str_time)
print('.', end="")
time.sleep(60)
else:
print(str_time)
# time.sleep(1)
break
#主程序
if __name__ == '__main__':
i = 1
# 循環下載
for url in url_list:
#定時器
# waiting()
try:
link = "https://www.bilibili.com%s" % url
print('%s 下載中。。。第%s個' % (link, i))
download(link, path)
time.sleep(2)
finally:
i += 1
下載截圖
list-box代碼的獲取
我的視頻鏈接源代碼文件:html.html
獲取方法:Chrome瀏覽器按F12,選擇對應的“list-box”元素,然后:右鍵→copy→copy outerHTML,將list-box元素代碼保存到txt中。
選取“list-box”元素
- P1HCIEv3.0-1-如何學習華為IE-華為IE能帶來什么好處以及IE做什么
- P2HCIEv3.0-2-OSPF的基本概念和相對于RIP的改進
- P3HCIEv3.0-3-OSPF基礎配置
- P4HCIEv3.0-4-OSPF的基礎術語
- P5HCIEv3.0-5-OSPF的RID
- P6HCIEv3.0-6-OSPF的鄰居和NBMA環境下的鄰居
- P7HCIEv3.0-7-單播建立鄰居要點和RID引發的問題
- P8HCIEv3.0-8-時間和區域引發的OSPF鄰居問題
- P9HCIEv3.0-9-掩碼和網絡引發的OSPF鄰居問題
- P10HCIEv3.0-10-其他鏈路上網絡和掩碼引發的OSPF鄰居問題
- P11HCIEv3.0-11-開啟華為設備上MTU檢測引發的OSPF鄰居問題
- P12HCIEv3.0-12-介質類型和OSPF網絡類型
- P13HCIEv3.0-13-OSPF網絡類型基本規則
- P14HCIEv3.0-14-OSPF報文類型和作用
- P15HCIEv3.0-15-OSPF鄰接關系建立詳解
- P16HCIEv3.0-16-DR BDR基本規則
- P17HCIEv3.0-17-DR回顧和NBMA推薦的網絡設計
- P18HCIEv3.0-18-1、2類LSA和SPF計算得到路由
- P19HCIEv3.0-19-OSPF區域間路由即3類LSA
- P20HCIEv3.0-20-3類以及1、2類LSA過濾
- P21HCIEv3.0-21-OSPF防環機制總結
- P22HCIEv3.0-22-OSPF虛連接1
- P23HCIEv3.0-23-虛鏈路續
- P24HCIEv3.0-24-5類LSA
- P25HCIEv3.0-25-外部路由類型
- P26HCIEv3.0-26-OSPF特殊出去-末節
- P27HCIEv3.0-27-OSPF的完全末節區域
- P28HCIEv3.0-28-OSPF的NSSA區域1
- P29HCIEv3.0-29-OSPF的NSSA細節詳解
- P30HCIEv3.0-30-OSPF的區域間匯總
- P31HCIEv3.0-31-OSPF區域間和外部路由匯總
- P32HCIEv3.0-32-OSPF認證類型和方式實施
- P33HCIEv3.0-33-OSPF虛連接認證問題
- P34HCIEv3.0-34-中間系統到中間系統基礎
- P35HCIEv3.0-35-中間系統到中間系統基本實施
- P36HCIEv3.0-36-中間系統到中間系統NET地址和 區域概述
- P37HCIEv3.0-37-中間系統到中間系統設備級別和調整
- P38HCIEv3.0-38-中間系統到中間系統的Hello報文和墊片
- P39HCIEv3.0-39-中間系統到中間系統的網絡類型和DIS
- P40HCIEv3.0-40-中間系統到中間系統的鄰居關系拍錯
- P41HCIEv3.0-41-中間系統到中間系統的鄰居關系建立和LSP同步
- P42HCIEv3.0-42-中間系統到中間系統的路由泄露基礎
- P43HCIEv3.0-43-中間系統到中間系統的路由泄露基礎和TAG
- P44HCIEv3.0-44-中間系統到中間系統的匯總
- P45HCIEv3.0-45-中間系統到中間系統的過載位實驗
- P46HCIEv3.0-46-中間系統到中間系統的下一跳權重
- P47HCIEv3.0-47-中間系統到中間系統的認證
- P48HCIEv3.0-48-中間系統到中間系統的收斂特性
- P49HCIEv3.0-49-BGP基礎概念
- P50HCIEv3.0-50-BGP的EBGP鄰居
- P51HCIEv3.0-51-BGP的IBGP鄰居和路由
- P52HCIEv3.0-52-BGP的報文類型
- P53HCIEv3.0-53-BGP路由的產生和通告原則
- P54HCIEv3.0-54-BGP通告原則續和重要的下一跳問題
- P55HCIEv3.0-55-多點接入環境下的下一跳行為
- P56HCIEv3.0-56-BGP路由黑洞以及引入方案的風險演示
- P57HCIEv3.0-57-BGP全互聯解決方案實施和對等體組案例
- P58HCIEv3.0-58-BGP的同步規則
- P59HCIEv3.0-59-BGP的聚合方式第1部分
- P60HCIEv3.0-60-BGP的聚合第2部分
- P61HCIEv3.0-61-BGP聚合的屬性修改
- P62HCIEv3.0-62-基本的路由反射器
- P63HCIEv3.0-63-BGP路由反射器的通告原則
- P64HCIEv3.0-64-BGP路由反射器的防環原則和實施
- P65HCIEv3.0-65-BGP聯邦的理念和基本實施
- P66HCIEv3.0-66-BGP的聯邦續
- P67HCIEv3.0-67-BGP的團體屬性1
- P68HCIEv3.0-68-BGP的團體屬性2
- P69HCIEv3.0-69-BGP屬性分類
- P70HCIEv3.0-70-BGP選路原則1
- P71HCIEv3.0-71-BGP選路原則2
- P72HCIEv3.0-72-BGP選路原則3
- P73HCIEv3.0-73-BGP選路原則4
- P74HCIEv3.0-74-BGP選路原則5
- P75HCIEv3.0-75-BGP的正則表達式
- P76HCIEv3.0-76-路由引入的定義
- P77HCIEv3.0-77-路由匹配工具ACL
- P78HCIEv3.0-78-路由匹配工具前綴列表
- P79HCIEv3.0-79-次優路由產生以及堵住該路由
- P80HCIEv3.0-80-不當的度量引發的環路以及堵住該路由
- P81HCIEv3.0-81-路由策略的規則以及應用
- P82HCIEv3.0-82-通過修改路由協議優先級解決次優問題
- P83HCIEv3.0-83-路由操控中TAG的應用
- P84HCIEv3.0-84-PBR基于策略的路由
- P85HCIEv3.0-85-路由操控中重要的默認路由
- P86HCIEv3.0-86-MPLS的產生背景
- P87HCIEv3.0-87-MPLS的基本實施案例
- P88HCIEv3.0-88-MPLS架構介紹
- P89HCIEv3.0-89-經典的標簽行為
- P90HCIEv3.0-90-LDP的概念以及報文類型
- P91HCIEv3.0-91-LDP會話建立以及拍障
- P92HCIEv3.0-92-基于平臺的標簽空間和標簽分配
- P93HCIEv3.0-93-標簽控制和標簽保留機制
- P94HCIEv3.0-94-MPLS中LDP的防環以及TTL處理
- P95HCIEv3.0-95-IGP和LDP同步
- P96HCIEv3.0-96-MPLS虛擬私有網絡實例
- P97HCIEv3.0-97-MPLS實現VPN實例的RD
- P98HCIEv3.0-98-MPLS實現多協議BGP更新VNv4路由以及驗證R
- P99HCIEv3.0-99-MPLS實現客戶和PE的路由更新
- P100HCIEv3.0-100-數據轉發層面解析
- P101HCIEv3.0-101-MPLS環境下的路由反射器
- P102HCIEv3.0-102-靜態方式接入MPLS
- P103HCIEv3.0-103-中間系統到中間系統接入MPLS
- P104HCIEv3.0-104-討論中間系統到中間系統接入MPLS的防環以及E
- P105HCIEv3.0-105-OSPF協議接入MPLS
- P106HCIEv3.0-106-域ID的作用和OSPF防環機制
- P107HCIEv3.0-107-OSPF的 shamlink作用
- P108HCIEv3.0-108-MCE在OSPF環境下的特殊實施
- P109HCIEv3.0-109-BGP接入MPLS以及MTU
- P110HCIEv3.0-110-組播基礎
- P111HCIEv3.0-111-組播IP地址和組播MAC地址
- P112HCIEv3.0-112-組播架構和IGMPv1
- P113HCIEv3.0-113-IGMPv2工作原理
- P114HCIEv3.0-114-實施協議無關組播的密集模式
- P115HCIEv3.0-115-密集模式工作原理
- P116HCIEv3.0-116-RPF檢查原理和實驗
- P117HCIEv3.0-117-實施PIM的稀疏模式
- P118HCIEv3.0-118-稀疏模式的注冊和共享樹形成
- P119HCIEv3.0-119-稀疏模式的SPT切換
- P120HCIEv3.0-120-稀疏模式的DR功能
- P121HCIEv3.0-121-BSR方式選舉RP
- P122HCIEv3.0-122-SSM和IGMPv3
- P123HCIEv3.0-123-IGMP snooping和代理
- P124HCIEv3.0-124-AS間組播實施和RPF檢查
- P125HCIEv3.0-125-交換端口的ACCESS模式
- P126HCIEv3.0-126-交換端口的Trunk模式
- P127HCIEv3.0-127-交換端口的Hybrid模式
- P128HCIEv3.0-128-交換即的MUX VLAN實現
- P129HCIEv3.0-129-路由式代理ARP理論和實驗
- P130HCIEv3.0-130-VLAN間代理ARP在超級VLAN的應用
- P131HCIEv3.0-131-VLAN內代理ARP在端口隔離組的應用
- P132HCIEv3.0-132-端口安全理論和實驗
- P133HCIEv3.0-133-實施QinQ技術
- P134HCIEv3.0-134-實施手工負載模式的鏈路捆綁
- P135HCIEv3.0-135-手工負載模式捆綁的特點和調整
- P136HCIEv3.0-136-實施LACP靜態模式的鏈路捆綁
- P137HCIEv3.0-137-STP的背景和本質
- P138HCIEv3.0-138-STP的工作原理和選舉根設備
- P139HCIEv3.0-139-STP選舉根端口
- P140HCIEv3.0-140-STP選舉DP以及其他
- P141HCIEv3.0-141-RSTP報文格式和端口角色
- P142HCIEv3.0-142-RSTP端口角色的增加和端口狀態的減少
- P143HCIEv3.0-143-選舉新的DP的同步機制
- P144HCIEv3.0-144-RSTP的拓撲改變以及BPDU過濾
- P145HCIEv3.0-145-生成樹的保護特性
- P146HCIEv3.0-146-MSTP基礎實施
- P147HCIEv3.0-147-MSTP的其他概念和調整
- P148HCIEv3.0-148-DHCP基礎
- P149HCIEv3.0-149-分配固定IP地址的DHCP實現
- P150HCIEv3.0-150-基于全局的DHCP實現
- P151HCIEv3.0-151-DHCP中繼代理技術的實現
- P152HCIEv3.0-152-DHCP snooping的實現
- P153HCIEv3.0-153-VRRP理論和實踐
- P154HCIEv3.0-154-實施BFD
- P155HCIEv3.0-155-GRE基礎
- P156HCIEv3.0-156-實施GRE隧道和路由協議
- P157HCIEv3.0-157-安全需求和IPSEC參數
- P158HCIEv3.0-158-站點間虛擬私有網絡理論基礎和實施
- P159HCIEv3.0-159-IKE概念和框架
- P160HCIEv3.0-160-實施基于IKE的IPSEC站點間的VPN
- P161HCIEv3.0-161-IPSEC的回顧調整以及NAT環境下的解決方案
- P162HCIEv3.0-162-GRE over IPSEC解決方案
- P163HCIEv3.0-163-實施動態智能虛擬私有網絡的多點GRE隧道
- P164HCIEv3.0-164-實施動態智能虛擬私有網絡的NHRP
- P165HCIEv3.0-165-實施動態智能虛擬私有網絡的動態路由協議
- P166HCIEv3.0-166-實施動態智能虛擬私有網絡的其他協議和IPSEC
- P167HCIP-18-認識中間系統協議
- P168HCIP-19-中間系統網絡實體標題和基本配置
- P169HCIP-20-中間系統路由器類型
- P170HCIP-21-中間系統報文類型和網絡類型
- P171HCIP-22-中間系統鄰居關系建立和電路調整
- P172HCIP-23-中間系統鄰居關系和3次握手
- P173HCIP-24-中間系統知識串講
- P174HCIP-25-中間系統的LSP交互
- P175HCIP-26-基本的中間系統路由泄露
- P176HCIP-27-中間系統的收斂
- P177HCIP-76-IPv6基礎和地址分類
- P178HCIP-77-IPv6單播地址
- P179HCIP-78-IPv6組播地址和其他
- P180HCIP-79-IPv6報文頭部解析
- P181HCIP-80-IPv6鄰居發現-解析
- P182HCIP-81-IPv6鄰居發現-跟蹤鄰居狀態和地址重復
- P183HCIP-82-IPv6-無狀態自動配置
- P184HCIP-83-OSPFv3概述和基本配置
- P185HCIP-84-OSPFv3和OSPFv2的區別
- P186HCIP-85-RA中的M和O以及DHCPv6實施
- P187QoS1-QoS概念和基本理論
- P188QoS2-QoS中的重要參數詳解
- P189QoS3-報文頭部中的分類字段和實驗
- P190QoS4-QoS的任務實施方向問題
- P191QoS5-華為設備實施分類和標記
- P192QoS6-模擬器上實施QoS的分類和標記
- P193QoS7-QoS軟硬件隊列
- P194QoS8-隊列要素和FIFO
- P195QoS9-PQ優先級隊列和實施
- P196QoS10-CQ自定義隊列概述
- P197QoS11-CQ隊列以及實施
- P198QoS12-WFQ詳解1
- P199QoS13-WFQ詳解2
- P200QoS14-實施CBQ
- P201QoS15-實施CB-WFQ和LLQ
- P202QoS16-WRED理論和華為基于流的WRED
- P203QoS16-實施MQC的WRED
- P204QoS17-限速基本概念
- P205QoS18-令牌桶概念和工作機制
- P206QoS19-令牌桶機制2
- P207QoS20-在華為設備實施監管即限速以及基于每IP限速
- P208QoS21-實施思科的基于類的監管
- P209QoS22-整形理論和實施
- P210QoS23-簡單的鏈路效率實施
- P211補充-MPLS MTU問題解決方案
- P212補充-針對VN實例的控制策略
- P213補充-靜態LSP實現
總結
以上是生活随笔為你收集整理的python批量下载b站_PYTHON批量下载B站视频小脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python透明的桌面时钟_透明桌面时钟
- 下一篇: java 降序排序数字_如何按降序排序A