Python 短视频爬虫教程
作者:嗨学编程 发布时间:2022-02-13 00:17:33
标签:Python,爬虫教程,短视频
好难受,上次发了做游戏的居然没人看,每天为了给你们写啥,老夫心都操碎了~
真的是,今天来给大家爬一波短视频网站吧,都是些很养眼的~
网站地址在代码里面,大家用心一下就能看到了。
使用的软件
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):
"""发送请求获取网页源代码"""
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)
来源:https://blog.csdn.net/fei347795790/article/details/121432241
0
投稿
猜你喜欢
- 常用功能 mean(data)mean(data)用于求给定序列或者迭代器的算术平均数。import statisticsexample_l
- 可怜我的C盘本来只有8.XG,所以不得不卸载掉它。卸载掉本身没啥问题,只是昨晚突然发现 Sql Server 2008 R2 Managem
- 引言:闲来想到冒泡排序中的列表数据的排序,就想试试用随机数生成一个列表来排序试试,于是做了一下实验,本人实在是属于入门阶段,研究了一下终究还
- <?php $foo = 'Bob'; // 将 'Bob' 赋给 $foo $bar = &
- 最近开始学习Python开发,“工欲善其事必先利其器”,Python程序都是用什么工具开发出来的呢。
- 昨天群里介绍了一个专门帮你PS图片的网站。吐司网。网站在图片的预览处理上有点意思。当鼠标经过图片,显示为处理过的图片。这样大家能很清晰的对比
- python-opencv3.0新增了一些比较有用的 * 算法,这里根据官网示例写了一个 * 类程序只能运行在安装有opencv3.0以上版
- 为某国税局开发一综合 * ,需要建立一个庞大的国税系统通讯录数据库,从各省、市到每名具体工作人员,项目较多,该如何设计各表呢?数据库的表设计
- PyTorch 中的 torch.utils.data 解析PyTorch 中的 torch.utils.data 解析在 PyTorch
- 这周心血来潮,翻看了现在比较流行的几个JS脚本框架的底层代码,虽然是走马观花,但也受益良多,感叹先人们的伟大……感叹是为了缓解严肃的气氛并引
- 如下所示:def softmax(logits, axis=None, name=None, dim=None): ""
- Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户
- pytorch里面的maxpool,有一个属性叫ceil_mode,这个属性在api里面的解释是ceil_mode: when True,
- 很多网站都有“浏览历史”这个功能,通常都是显示在页面的一侧,特别是一些购物网站,这个功能会让用户使用网站的体验好一些;例如当当网或淘宝网都有
- 围绕一门语言,学习它的文化精髓,能让你成为一名更优秀的程序员。如果你还没读过Python之禅(Zen of Python) ,那么打开Pyt
- 1.关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。关系模型是由若干个关系模式组成的集合。2.关系模式:关系模
- 在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符。 因此改变一个字符串的元素需要新建一个新的字符串。常见的修
- PDOStatement::bindValuePDOStatement::bindValue — 把一个值绑定到一个参数(PHP 5 >
- 概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库的安全性是数据库管理工作的重要内容。本文是笔者在总结Oracle
- python内存管理机制:引用计数垃圾回收内存池1. 引用计数当一个python对象被引用时 其引用计数增加 1 ; 当其不再被变量引用时