您好,登錄后才能下訂單哦!
本篇內容介紹了“python怎么爬取視頻”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
思路
1.將所以題目的解析鏈接爬取出去單獨存放到一個文件。
2.為了解決有些鏈接一次進不去必須中斷程序再次開始,和存儲圖片思路一樣,爭取實現斷點繼續,
3.但是寫入文件和保存圖片還是不一樣,針對面臨的情況,初步解決想法為每抽取一條鏈接的解析,就刪掉這個鏈接,用列表存儲從鏈接文件中讀取的鏈接
因為科目四有的題目包含動圖,要爬取的網站是做成mov格式的短視頻
例如:
<div class="test-r f-r"> <video src="http://www.jiazhao.com/images/tiku/201511231357033827.mov" controls="controls">您的瀏覽器不支持不放</video><!-- <a href="javascript:;" class="t-big">點擊放大觀看</a> -->
增加獲取視頻鏈接
系列一獲取圖片的方法是在獲取選項、答案的基礎上再次傳到BeautifulSoup對象,然后再次提取img標簽,如果某題沒有圖片,提取的則是一個空值,此處提取img和video標簽。如果某題沒有圖片或視頻,提取的則是一個空值。只需改一句代碼
img = soup.find_all(['img','video'])
系列一中為了方便直接在文件名后面加的字符串形式.png后綴,但是現在要解決后綴不一致(寫代碼盡可能還是不要偷懶…)
解決代碼:
if img: for im in img: src = im.get('src') suffix = src.split('.')[3] filename = str(i) + '.' + suffix
如果此題有圖片或動圖,則把這個圖的鏈接通過’.’進行分割。最后的元素則是后綴
不知道為什么程序會暫停不動,模仿瀏覽器,捕獲異常都試了,依然不行,所以我盡可能的實現斷點繼續。
每個圖片對應一個鏈接,難免有一個鏈接卡住(我猜測的)
解決辦法 :
在我們得到鏈接,并生成文件名后,先不去打開這個這個鏈接,先根據文件名判斷這個圖片是否文件夾中已經包含,如果包含扔掉這個鏈接,去繼續下一個鏈接
if img: for im in img: src = im.get('src') suffix = src.split('.')[3] filename = str(i) + '.' + suffix if os.path.exists('picture/'+filename): break saveImg(im.get('src'),filename)
“python怎么爬取視頻”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。