好難受,上次發了做游戲的居然沒人看,每天為了給你們寫啥,老夫心都操碎了~
真的是,今天來給大家爬一波短視頻網站吧,都是些很養眼的~
網站地址在代碼里面,大家用心一下就能看到了。
使用的軟件
- python 3.8
- pycharm 2021.2
模塊
- requests
- parsel
- re
- concurrent.futures
- time
- warnings
不會安裝模塊看這篇:如何安裝python模塊, python模塊安裝失敗的原因以及解決辦法
代碼展示
知道你們不想看那些步驟,我直接上代碼吧
import requests import parsel import re import concurrent.futures import time import warnings # 取消警告 warnings.filterwarnings("ignore") def get_html(url): """發送請求獲取網頁源代碼""" 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] # 取鏈接當中的字段作為標題 video_data = requests.get(video_url, verify=False).content # 發送網絡請求 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. 向目標網站發送請求 html_data = get_html(url=url) # 2. 第一次解析數據 提取詳情頁鏈接 url_list = parse_data_1(html_data=html_data) for info_url in url_list[:10]: # 3. 向詳情頁發送請求 html_data_2 = get_html(url=info_url) # 4. 第二次解析數據 提取視頻播放地址 video_url = parse_data_2(html_data=html_data_2) # 5. 保存視頻 save(video_url=video_url) print('花費時間:', time.time() - start_time)
#兄弟們學習python,有時候不知道怎么學,從哪里開始學。 #掌握了基本的一些語法或者做了兩個案例后,不知道下一步怎么走,不知道如何去學習更加高深的知識。 #那么對於這些大兄弟們,我准備了大量的免費視頻教程,PDF電子書籍,以及視頻源的源代碼! #還會有大佬解答! #都在這個群里了 872937351 #歡迎加入,一起討論 一起學習!