Python爬虫之findall和lxml
Python爬虫之findall和lxml
提示:前言
Python爬虫之findall和lxml
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- Python爬虫之findall和lxml
- 前言
- 一、导入包
- 二、设置URL和获取视频链接
- 三、解析视频名字
- 四、分别下载视频和音频
- 四、合并视频
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、导入包
import pprint
from lxml import etree
import requests
import re
import json
设置headers
# ffmpeg 视频名字 音频名字 输出文件名字 i -cc
headers = {"referer":"https://www.bilibili.com/","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
}
二、设置URL和获取视频链接
下载B站中的视频
“https://www.bilibili.com/video/BV1kd4y157X9”
url = "https://www.bilibili.com/video/BV1kd4y157X9"
r = requests.get(url, headers=headers)
提取视频和音频的播放地址
# 提取视频和音频的播放地址
info = re.findall("window.__playinfo__=(.*?)</script>", r.text)[0]
info = json.loads(info)video_url = info["data"]["dash"]["video"][0]["baseUrl"]
audio_url = info["data"]["dash"]["audio"][0]["baseUrl"]
三、解析视频名字
解析视频名字:
html = etree.HTML(r.text)filename = html.xpath("//h1/text()")[0].replace(" ", "")
四、分别下载视频和音频
分别下载视频和音频
# 分别下载视频和音频
print("开始下载")
video_content = requests.get(video_url, headers=headers).content
audio_content = requests.get(audio_url, headers=headers).contentwith open(f"video/{filename}.mp4", "wb") as f:f.write(video_content)print("已下载视频部分")with open(f"video/{filename}.mp3", "wb") as f:f.write(audio_content)print("已下载音频部分")
四、合并视频
from moviepy import *
from moviepy.editorimport *video_path = "video/{filename}.mp4"
audio_path = "video/{filename}.mp3"# 读入视频
video = VideoFileClip(video_path)
# 提取音轨
audio = AudioFileClip(audio_path)
# 将音轨合并到视频中
video = video.set_audio(audio)
# 输出
video.write_videofile(f"video/{filename}(含音频).mp4")
参考链接:
http://www.cppcns.com/jiaoben/python/451984.html
http://www.360doc.com/content/22/0127/21/360939_1015148940.shtml
Python爬虫之findall和lxml相关推荐
- python爬虫之xpath和lxml应用—爬取豆瓣评分爬取
python爬虫之豆瓣评分爬取 1 第一步 获取网页源码 2 第二步 获取电影信息 3 第三步 保存数据 4 综合 ''' 需求:爬取电影的名字 评分 引言 详情页的url,每一页都爬取并且把数据保存 ...
- Python爬虫解析html:lxml的HtmlElement对象获取和设置inner html
2019独角兽企业重金招聘Python工程师标准>>> 我在我的个人博客"猿人学网站"和公众号"猿人学Python"上写Python教程,有兴 ...
- Python爬虫解析htm时lxml的HtmlElement对象获取和设置inner html方法
Python的lxml是一个相当强悍的解析html.XML的模块,最新版本支持的python版本从2.6到3.6,是写爬虫的必备利器.它基于C语言库libxml2 和 libxslt,进行了Pytho ...
- python 爬虫(七)lxml模块 + lxml数据提取(字符串的xml/html文件--转换--element对象--转换--字符串)调用XPath方法筛选数据 + 案例(扇贝 酷狗 网易云音乐)
爬虫小知识:爬取网站流程 确定网站哪个url是数据的来源. 简要分析一下网站结构,查看数据一般放在哪里. 查看是否有分页,解决分页的问题. 发送请求,查看response.text里面是否有我们想要的 ...
- Python爬虫(十)_XPath与lxml类库
有同学说,我正则用的不好,处理HTML文档很累,有没有其他的方法? 有!那就是XPath,我们可以用先将HTML文档转换成XML文档,然后用XPath查找HTML节点或元素. 什么是XML XML指可 ...
- Python 爬虫 —— 网页内容解析(lxml)
0. xpath 语法 找到所有 <img src=....> 图像的链接: xpath = './/img/@src' img_urls = html.xpath(xpath) @修饰节 ...
- python爬虫beautifulsoup findall函数详解
测试网站: http://www.pythonscraping.com/pages/warandpeace.html 内容初探 有一些奇怪的红绿分类 网页源码介入: 我们所要做的就是识别<> ...
- python xpath语法-Python爬虫之XPath语法和lxml库的用法
本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 安装 为什么要用这个库 ...
- python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解
前言 本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 XPath 即为 ...
最新文章
- C语言学习 - 字节对齐
- 机器学习cae_CAE工程分析技术年会记
- WPF ChromiumWebBrowser 网页背景透明
- JNDI 笔记(转)
- android 初始化变量,变量初始化 - Android Studio
- 数据结构与算法(python版)
- 电脑散热风扇轴承分类
- linux有没有crt软件,linux类似windows下secureCRT的软件
- 比较全的OA系统功能模块列表
- [弗曼学习法] Study for learning methods
- android ssl双向验证 X509证书信任管理器类的实现及应用
- MobileNet_v1:深度可分离卷积
- java设置cpu亲和性_cpu亲和性绑定
- 一款简洁的导航网源码
- mysql vchar 最大长度_mysql VARCHAR的最大长度到底是多少
- 爬虫小小实战——豆瓣电影top250
- redis关闭后在连接报错误:Could not connect to Redis at 127.0.0.1:6379: Connection refused
- 4.5 ipu_request_irq函数详细分析
- 简历中的项目经历可以怎么写?
- Pandownload作者被抓,破解百度网盘的哥们!
热门文章
- CC00307.CloudKubernetes——|KuberNetes运维.V27|——|监控.v04|PromQL查询_运算符|
- linux如何ping多个ip,如何同时Ping多个IP地址并保存记录 | 个人信息技术网
- 如何创新地解决光缆运维痛点?
- PT_二维随机变量:正态分布的可加性/一维随机变量函数与正态分布
- protobuf repeated数组类型的使用
- 如何看待 12 月 26 日发布的华为云 WeLink 企业智能工作平台?能对标得过企业微信和钉钉吗?
- 使用element-ui使用表格展示微信头像
- 一些开源代码网站介绍(持续添加中....)
- 海量数据处理专题(八)——倒排索引(搜索引擎之基石)
- NoSQL入门------关于NoSQL