Python 通過正則表達(dá)式快速獲取電影的下載地址
在爬取網(wǎng)頁信息時(shí),如果在HTML代碼中通過獲取標(biāo)簽的方式來提取電影的下載地址時(shí),不僅要編寫比較多的代碼,還需要不斷的確認(rèn)每一層的標(biāo)簽是否正確,這樣的操作無疑是煩瑣的。如下圖所示。那么通過什么方式既可以減少代碼量,又可以很簡單的提取指定標(biāo)簽的內(nèi)容呢?本文將實(shí)現(xiàn)通過正則表達(dá)式快速獲取電影的下載地址。如果對(duì)正則表達(dá)式不熟悉的讀者,點(diǎn)擊 此處 學(xué)習(xí)正則表達(dá)式。

在爬取網(wǎng)頁信息的任務(wù)中,可以使用正則表達(dá)式的方式快速的提取某個(gè)標(biāo)簽內(nèi)的指定信息,以爬取電影的下載地址為例。本案例需要注意編碼格式的問題,單擊鼠標(biāo)右鍵,如圖所示查看網(wǎng)頁編碼:

代碼如下:
import re
import requests
def get_movies(url):
# 構(gòu)造請(qǐng)求頭
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/53"
"7.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
}
response = requests.get(url, headers=headers) # 發(fā)送請(qǐng)求
response.encoding = "gb2312" # 設(shè)置編碼方式
# 判斷請(qǐng)求是否成功 根據(jù)狀態(tài)碼是否等于200來判斷
if response.status_code == 200:
# 獲取每個(gè)電影詳情頁地址,通過正則表達(dá)式提取電影詳情頁地址
# <a href="/html/gndy/dyzz/20200411/59903.html" rel="external nofollow" class="ulink">2020年動(dòng)作《絕地戰(zhàn)警:疾速追擊》BD中英雙字幕</a>
movies_info = re.findall(r'<a href="(.*?)" rel="external nofollow" class="ulink">', response.text) # 返回符合表達(dá)式規(guī)則的數(shù)據(jù)列表
print(len(movies_info))
for url in movies_info: # 循環(huán)每個(gè)電影的詳情頁地址
info_url = "https://www.ygdy8.net" + url # 拼接完整地址
# 對(duì)電影詳情頁發(fā)送請(qǐng)求
movies_info_response = requests.get(info_url, headers=headers)
movies_info_response.encoding = "gb2312" # 設(shè)置編碼方式
# 通過表達(dá)式匹配電影的下載地址
download_url = re.findall(r'<a href=".*?" rel="external nofollow" >(.*?)</a></td>', movies_info_response.text)
print(download_url)
if __name__ == '__main__':
get_movies("https://www.ygdy8.net/html/gndy/dyzz/index.html")
運(yùn)行結(jié)果如下:
['ftp://ygdy8:ygdy8@yg39.dydytt.net:8014/陽光電影www.ygdy8.com.名字之歌.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg90.dydytt.net:6015/陽光電影www.ygdy8.com.我仍然相信.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:8018/陽光電影www.ygdy8.com.阿肯色.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg39.dydytt.net:4028/陽光電影www.ygdy8.com.驚天營救.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg90.dydytt.net:8067/陽光電影www.ygdy8.com.狩獵的時(shí)間.BD.1080p.韓語中字.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:7018/陽光電影www.ygdy8.com.7號(hào)房的禮物.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:8017/陽光電影www.ygdy8.com.格蕾特和韓塞爾.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:3028/陽光電影www.ygdy8.com.看不見的女人.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg90.dydytt.net:7067/陽光電影www.ygdy8.com.我們永不言棄.HD.1080p.國語中字.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:4026/陽光電影www.ygdy8.com.軍人的妻子.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg90.dydytt.net:6014/陽光電影www.ygdy8.com.匹諾曹.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:4025/陽光電影www.ygdy8.com.葉問4:完結(jié)篇.BD.1080p.國粵雙語中字.mkv']
['ftp://ygdy8:ygdy8@yg39.dydytt.net:3024/陽光電影www.ygdy8.com.節(jié)奏組.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg39.dydytt.net:8013/陽光電影www.ygdy8.com.江湖兒女.BD.1080p.國語中字.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:3026/陽光電影www.ygdy8.com.瓊斯先生.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg39.dydytt.net:7013/陽光電影www.ygdy8.com.地球最后的夜晚.BD.1080p.國語中字.mkv']
['ftp://ygdy8:ygdy8@yg39.dydytt.net:3023/陽光電影www.ygdy8.com.夢(mèng)幻島.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:4023/陽光電影www.ygdy8.com.擰緊.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg39.dydytt.net:4026/陽光電影www.ygdy8.com.悲慘世界.BD.1080p.法語中字.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:4022/陽光電影www.ygdy8.com.真人快打傳奇:蝎子的復(fù)仇.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg18.dydytt.net:7016/陽光電影www.ygdy8.com.我的間諜.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg39.dydytt.net:3021/陽光電影www.ygdy8.com.從不,很少,有時(shí),總是.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg39.dydytt.net:4025/陽光電影www.ygdy8.com.絕地戰(zhàn)警:疾速追擊.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg39.dydytt.net:3020/陽光電影www.ygdy8.com.紳士們.BD.1080p.中英雙字幕.mkv']
['ftp://ygdy8:ygdy8@yg90.dydytt.net:8065/陽光電影www.ygdy8.com.二分之一的魔法.BD.1080p.中英雙字幕.mkv']
1
筆者在這里聲明,筆者寫文章只是為了 學(xué)習(xí)交流,以及讓更多學(xué)習(xí)Python基礎(chǔ)的讀者少走一些彎路,節(jié)省時(shí)間,并不用做其他用途,如有侵權(quán),聯(lián)系刪除即可。
到此這篇關(guān)于Python 通過正則表達(dá)式快速獲取電影的下載地址的文章就介紹到這了,更多相關(guān)Python 正則表達(dá)式下載地址內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python正則表達(dá)式中的量詞符號(hào)與組問題小結(jié)
- Python正則表達(dá)式的應(yīng)用詳解
- 淺談Python中的正則表達(dá)式
- python正則表達(dá)式re.search()的基本使用教程
- Python如何利用正則表達(dá)式爬取網(wǎng)頁信息及圖片
- python通過re正則表達(dá)式切割中英文的操作
- Python驗(yàn)證的50個(gè)常見正則表達(dá)式
- python re模塊和正則表達(dá)式
- Python中正則表達(dá)式對(duì)單個(gè)字符,多個(gè)字符和匹配邊界等使用
- python正則表達(dá)式re.match()匹配多個(gè)字符方法的實(shí)現(xiàn)
- 如何利用python正則表達(dá)式匹配版本信息
- python使用正則表達(dá)式匹配txt特定字符串(有換行)
- Python爬蟲教程之利用正則表達(dá)式匹配網(wǎng)頁內(nèi)容
- python中使用正則表達(dá)式將所有符合條件的字段全部提取出來
- Python使用正則表達(dá)式實(shí)現(xiàn)爬蟲數(shù)據(jù)抽取
- python正則表達(dá)式 匹配反斜杠的操作方法
- 帶你精通Python正則表達(dá)式
相關(guān)文章
Python讀取Word文檔中的Excel嵌入文件的方法詳解
這篇文章主要為大家詳細(xì)介紹了Python讀取Word文檔中的Excel嵌入文件的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-12-12
Python實(shí)現(xiàn)拷貝多個(gè)文件到同一目錄的方法
這篇文章主要介紹了Python實(shí)現(xiàn)拷貝多個(gè)文件到同一目錄的方法,涉及Python針對(duì)文件與目錄的遍歷、復(fù)制等相關(guān)操作技巧,需要的朋友可以參考下2016-09-09
Django表單外鍵選項(xiàng)初始化的問題及解決方法
這篇文章主要介紹了Django表單外鍵選項(xiàng)初始化的問題及解決方法,需本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,要的朋友可以參考下2021-04-04
Pytorch修改ResNet模型全連接層進(jìn)行直接訓(xùn)練實(shí)例
在本篇文章里小編給大家整理的是關(guān)于Pytorch修改ResNet模型全連接層進(jìn)行直接訓(xùn)練相關(guān)知識(shí)點(diǎn),有需要的朋友們參考下。2019-09-09
python pycurl驗(yàn)證basic和digest認(rèn)證的方法
這篇文章主要介紹了python pycurl驗(yàn)證basic和digest認(rèn)證的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05

