Python 短視頻爬蟲教程
好難受,上次發(fā)了做游戲的居然沒人看,每天為了給你們寫啥,老夫心都操碎了~
真的是,今天來給大家爬一波短視頻網(wǎng)站吧,都是些很養(yǎng)眼的~
網(wǎng)站地址在代碼里面,大家用心一下就能看到了。
使用的軟件
python 3.8 pycharm 2021.2
模塊
requests parsel re concurrent.futures time warnings
不會安裝模塊看這篇:python模塊的安裝以及安裝失敗的解決方法
知道你們不想看那些步驟,我直接上代碼吧
import requests import parsel import re import concurrent.futures import time import warnings # 取消警告 warnings.filterwarnings("ignore") def get_html(url): """發(fā)送請求獲取網(wǎng)頁源代碼""" html_data = requests.get(url=url, verify=False).text return html_data def parse_data_1(html_data): """第一次解析, 拿到所有的詳情頁鏈接""" selector = parsel.Selector(html_data) url_list = selector.xpath('//a[@class="meta-title"]/@href').getall() return url_list def parse_data_2(html_data): """第二次解析, 獲取視頻鏈接""" video_url = re.findall('url: "(.*?)",', html_data)[0] return video_url def save(video_url): """保存視頻""" title = video_url.split('/')[-1] # 取鏈接當(dāng)中的字段作為標(biāo)題 video_data = requests.get(video_url, verify=False).content # 發(fā)送網(wǎng)絡(luò)請求 with open(f'video/{title}', mode='wb') as f: f.write(video_data) print(title, "爬取成功!!!") start_time = time.time() url = 'https://www.520mmtv.com/hd/rewu.html' # 1. 向目標(biāo)網(wǎng)站發(fā)送請求 html_data = get_html(url=url) # 2. 第一次解析數(shù)據(jù) 提取詳情頁鏈接 url_list = parse_data_1(html_data=html_data) for info_url in url_list[:10]: # 3. 向詳情頁發(fā)送請求 html_data_2 = get_html(url=info_url) # 4. 第二次解析數(shù)據(jù) 提取視頻播放地址 video_url = parse_data_2(html_data=html_data_2) # 5. 保存視頻 save(video_url=video_url) print('花費時間:', time.time() - start_time)
到此這篇關(guān)于Python 短視頻爬蟲教程的文章就介紹到這了,更多相關(guān)Python 爬蟲教程內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。