創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)鐵嶺,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220這篇文章主要介紹Python如何爬取美劇隨時看,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
最早一部《越獄》轉(zhuǎn)變了我對美劇的看法。主人公scofield的聰明才智和堅強的毅力,《絕命毒師》里面主人公的中年逆襲,《紙牌屋》里面老謀深算的政客,等等,這些美劇和里面鮮活的任務(wù),至今令人記憶尤新。
最近,又迷上了美劇,無奈多數(shù)視頻平臺上的美劇都是收費的。對于一個資深Pythoner,我們可以用Python自動獲取美劇的網(wǎng)址,下載了慢慢看。
我們以天天看M劇這個網(wǎng)站為例,來展示如何分析和下載這些內(nèi)容,這里提供一種思路供大家學(xué)習(xí)。當(dāng)然,我們還是得支持正版內(nèi)容,這里是介紹技術(shù),大家勿用于非法用途哦,電影下載后請遵照網(wǎng)站協(xié)議及時刪除。
準備網(wǎng)址
網(wǎng)址大家自己找。我們在主頁搜索“危機邊緣”
然后我們獲得1-5季的網(wǎng)址內(nèi)容,如下圖
我們知道了1-5季的網(wǎng)址信息,然后,我們來看一下每一個頁面的結(jié)構(gòu)。
分析頁面內(nèi)容
我們打開第一季的頁面,看下需要獲取的內(nèi)容,如下圖:
我們需要的是每一集的網(wǎng)址信息(上圖中紅色框線中的內(nèi)容),通過將各個季的每一集網(wǎng)址內(nèi)容下載下來,按季保存為txt文件,然后使用下載工具導(dǎo)入下載即可。
Python如何實現(xiàn)
我們知道,爬取信息主要使用的一些經(jīng)典庫。
我們這里主要使用兩個經(jīng)典的庫requests和bs4。親測該網(wǎng)站沒有反爬措施,因此我們沒有涉及這些內(nèi)容,感興趣的小伙伴自己學(xué)習(xí)下相關(guān)內(nèi)容。
我們的一般思路是這樣的,下面來看下Python實現(xiàn)過程。
我們定義三個函數(shù),主要代碼如下:
【獲取網(wǎng)頁內(nèi)容】
def getHtml(url): return requests.get(url)
直接返回了網(wǎng)頁的文本內(nèi)容。
【獲取每頁網(wǎng)址信息】
def getInfo(html): lst = [] bs = BeautifulSoup(html.text, 'html.parser') urls = bs.findAll('tbody')[0] for item in urls.findAll('a'): lst.append((item.get("href"), item.text)) return lst
傳入每一季的頁面內(nèi)容,以列表信息返回每一集的網(wǎng)址和每一集的名字。
【保存內(nèi)容】
def saveInfo(name, lst): with open('第{}季.txt'.format(name), 'w') as f: for item in lst: f.write(item[0] + '\n')
傳入每一季的名稱的該季中的每一集的網(wǎng)址列表,保存在本地。
做輪子
沒錯,簡單的三步實現(xiàn)了我們需要的效果。下面,我們開始“造輪子”。
下面我們來看看我們實現(xiàn)的功能。
好了,我們的內(nèi)容成功獲取到了,然后自己下載吧!
程序擴展
聰明的小伙伴一定想到了,還有很多好看的美劇呢,我們?nèi)绾蜗螺d其它的內(nèi)容呢?
如何下載其它視頻呢?
過程同上,先到主頁搜索,然后更改我們的url_list列表,執(zhí)行程序即可!接觸過前端的小伙伴肯定知道,每個網(wǎng)站的結(jié)構(gòu)基本是相同的,我們這樣的方法在天天看M劇的主頁上應(yīng)該是通用的。感興趣的小伙伴自己下載看看咯。
以上是Python如何爬取美劇隨時看的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!