Python 通過(guò)正則表達(dá)式快速獲取電影的下載地址
在爬取網(wǎng)頁(yè)信息時(shí),如果在HTML代碼中通過(guò)獲取標(biāo)簽的方式來(lái)提取電影的下載地址時(shí),不僅要編寫(xiě)比較多的代碼,還需要不斷的確認(rèn)每一層的標(biāo)簽是否正確,這樣的操作無(wú)疑是煩瑣的。如下圖所示。那么通過(guò)什么方式既可以減少代碼量,又可以很簡(jiǎn)單的提取指定標(biāo)簽的內(nèi)容呢?本文將實(shí)現(xiàn)通過(guò)正則表達(dá)式快速獲取電影的下載地址。如果對(duì)正則表達(dá)式不熟悉的讀者,點(diǎn)擊 此處 學(xué)習(xí)正則表達(dá)式。
在爬取網(wǎng)頁(yè)信息的任務(wù)中,可以使用正則表達(dá)式的方式快速的提取某個(gè)標(biāo)簽內(nèi)的指定信息,以爬取電影的下載地址為例。本案例需要注意編碼格式的問(wèn)題,單擊鼠標(biāo)右鍵,如圖所示查看網(wǎng)頁(yè)編碼:
代碼如下:
import reimport requestsdef 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來(lái)判斷 if response.status_code == 200: # 獲取每個(gè)電影詳情頁(yè)地址,通過(guò)正則表達(dá)式提取電影詳情頁(yè)地址 # <a href='http://m.4tl426be.cn/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='http://m.4tl426be.cn/bcjs/(.*?)' rel='external nofollow' class='ulink'>’, response.text) # 返回符合表達(dá)式規(guī)則的數(shù)據(jù)列表 print(len(movies_info)) for url in movies_info: # 循環(huán)每個(gè)電影的詳情頁(yè)地址 info_url = 'https://www.ygdy8.net' + url # 拼接完整地址 # 對(duì)電影詳情頁(yè)發(fā)送請(qǐng)求 movies_info_response = requests.get(info_url, headers=headers) movies_info_response.encoding = 'gb2312' # 設(shè)置編碼方式 # 通過(guò)表達(dá)式匹配電影的下載地址 download_url = re.findall(r’<a href='http://m.4tl426be.cn/bcjs/.*?' 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/陽(yáng)光電影www.ygdy8.com.名字之歌.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg90.dydytt.net:6015/陽(yáng)光電影www.ygdy8.com.我仍然相信.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:8018/陽(yáng)光電影www.ygdy8.com.阿肯色.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg39.dydytt.net:4028/陽(yáng)光電影www.ygdy8.com.驚天營(yíng)救.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg90.dydytt.net:8067/陽(yáng)光電影www.ygdy8.com.狩獵的時(shí)間.BD.1080p.韓語(yǔ)中字.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:7018/陽(yáng)光電影www.ygdy8.com.7號(hào)房的禮物.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:8017/陽(yáng)光電影www.ygdy8.com.格蕾特和韓塞爾.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:3028/陽(yáng)光電影www.ygdy8.com.看不見(jiàn)的女人.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg90.dydytt.net:7067/陽(yáng)光電影www.ygdy8.com.我們永不言棄.HD.1080p.國(guó)語(yǔ)中字.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:4026/陽(yáng)光電影www.ygdy8.com.軍人的妻子.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg90.dydytt.net:6014/陽(yáng)光電影www.ygdy8.com.匹諾曹.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:4025/陽(yáng)光電影www.ygdy8.com.葉問(wèn)4:完結(jié)篇.BD.1080p.國(guó)粵雙語(yǔ)中字.mkv’][’ftp://ygdy8:ygdy8@yg39.dydytt.net:3024/陽(yáng)光電影www.ygdy8.com.節(jié)奏組.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg39.dydytt.net:8013/陽(yáng)光電影www.ygdy8.com.江湖兒女.BD.1080p.國(guó)語(yǔ)中字.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:3026/陽(yáng)光電影www.ygdy8.com.瓊斯先生.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg39.dydytt.net:7013/陽(yáng)光電影www.ygdy8.com.地球最后的夜晚.BD.1080p.國(guó)語(yǔ)中字.mkv’][’ftp://ygdy8:ygdy8@yg39.dydytt.net:3023/陽(yáng)光電影www.ygdy8.com.夢(mèng)幻島.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:4023/陽(yáng)光電影www.ygdy8.com.擰緊.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg39.dydytt.net:4026/陽(yáng)光電影www.ygdy8.com.悲慘世界.BD.1080p.法語(yǔ)中字.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:4022/陽(yáng)光電影www.ygdy8.com.真人快打傳奇:蝎子的復(fù)仇.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg18.dydytt.net:7016/陽(yáng)光電影www.ygdy8.com.我的間諜.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg39.dydytt.net:3021/陽(yáng)光電影www.ygdy8.com.從不,很少,有時(shí),總是.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg39.dydytt.net:4025/陽(yáng)光電影www.ygdy8.com.絕地戰(zhàn)警:疾速追擊.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg39.dydytt.net:3020/陽(yáng)光電影www.ygdy8.com.紳士們.BD.1080p.中英雙字幕.mkv’][’ftp://ygdy8:ygdy8@yg90.dydytt.net:8065/陽(yáng)光電影www.ygdy8.com.二分之一的魔法.BD.1080p.中英雙字幕.mkv’]1
筆者在這里聲明,筆者寫(xiě)文章只是為了 學(xué)習(xí)交流,以及讓更多學(xué)習(xí)Python基礎(chǔ)的讀者少走一些彎路,節(jié)省時(shí)間,并不用做其他用途,如有侵權(quán),聯(lián)系刪除即可。
到此這篇關(guān)于Python 通過(guò)正則表達(dá)式快速獲取電影的下載地址的文章就介紹到這了,更多相關(guān)Python 正則表達(dá)式下載地址內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. css代碼優(yōu)化的12個(gè)技巧2. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera3. 使用css實(shí)現(xiàn)全兼容tooltip提示框4. css進(jìn)階學(xué)習(xí) 選擇符5. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案6. HTML DOM setInterval和clearInterval方法案例詳解7. 詳解瀏覽器的緩存機(jī)制8. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單9. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)10. HTML <!DOCTYPE> 標(biāo)簽
