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相关推荐

  1. python爬虫之xpath和lxml应用—爬取豆瓣评分爬取

    python爬虫之豆瓣评分爬取 1 第一步 获取网页源码 2 第二步 获取电影信息 3 第三步 保存数据 4 综合 ''' 需求:爬取电影的名字 评分 引言 详情页的url,每一页都爬取并且把数据保存 ...

  2. Python爬虫解析html:lxml的HtmlElement对象获取和设置inner html

    2019独角兽企业重金招聘Python工程师标准>>> 我在我的个人博客"猿人学网站"和公众号"猿人学Python"上写Python教程,有兴 ...

  3. Python爬虫解析htm时lxml的HtmlElement对象获取和设置inner html方法

    Python的lxml是一个相当强悍的解析html.XML的模块,最新版本支持的python版本从2.6到3.6,是写爬虫的必备利器.它基于C语言库libxml2 和 libxslt,进行了Pytho ...

  4. python 爬虫(七)lxml模块 + lxml数据提取(字符串的xml/html文件--转换--element对象--转换--字符串)调用XPath方法筛选数据 + 案例(扇贝 酷狗 网易云音乐)

    爬虫小知识:爬取网站流程 确定网站哪个url是数据的来源. 简要分析一下网站结构,查看数据一般放在哪里. 查看是否有分页,解决分页的问题. 发送请求,查看response.text里面是否有我们想要的 ...

  5. Python爬虫(十)_XPath与lxml类库

    有同学说,我正则用的不好,处理HTML文档很累,有没有其他的方法? 有!那就是XPath,我们可以用先将HTML文档转换成XML文档,然后用XPath查找HTML节点或元素. 什么是XML XML指可 ...

  6. Python 爬虫 —— 网页内容解析(lxml)

    0. xpath 语法 找到所有 <img src=....> 图像的链接: xpath = './/img/@src' img_urls = html.xpath(xpath) @修饰节 ...

  7. python爬虫beautifulsoup findall函数详解

    测试网站: http://www.pythonscraping.com/pages/warandpeace.html 内容初探 有一些奇怪的红绿分类 网页源码介入: 我们所要做的就是识别<> ...

  8. python xpath语法-Python爬虫之XPath语法和lxml库的用法

    本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 安装 为什么要用这个库 ...

  9. python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解

    前言 本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 XPath 即为 ...

最新文章

  1. C语言学习 - 字节对齐
  2. 机器学习cae_CAE工程分析技术年会记
  3. WPF ChromiumWebBrowser 网页背景透明
  4. JNDI 笔记(转)
  5. android 初始化变量,变量初始化 - Android Studio
  6. 数据结构与算法(python版)
  7. 电脑散热风扇轴承分类
  8. linux有没有crt软件,linux类似windows下secureCRT的软件
  9. 比较全的OA系统功能模块列表
  10. [弗曼学习法] Study for learning methods
  11. android ssl双向验证 X509证书信任管理器类的实现及应用
  12. MobileNet_v1:深度可分离卷积
  13. java设置cpu亲和性_cpu亲和性绑定
  14. 一款简洁的导航网源码
  15. mysql vchar 最大长度_mysql VARCHAR的最大长度到底是多少
  16. 爬虫小小实战——豆瓣电影top250
  17. redis关闭后在连接报错误:Could not connect to Redis at 127.0.0.1:6379: Connection refused
  18. 4.5 ipu_request_irq函数详细分析
  19. 简历中的项目经历可以怎么写?
  20. Pandownload作者被抓,破解百度网盘的哥们!

热门文章

  1. CC00307.CloudKubernetes——|KuberNetes运维.V27|——|监控.v04|PromQL查询_运算符|
  2. linux如何ping多个ip,如何同时Ping多个IP地址并保存记录 | 个人信息技术网
  3. 如何创新地解决光缆运维痛点?
  4. PT_二维随机变量:正态分布的可加性/一维随机变量函数与正态分布
  5. protobuf repeated数组类型的使用
  6. 如何看待 12 月 26 日发布的华为云 WeLink 企业智能工作平台?能对标得过企业微信和钉钉吗?
  7. 使用element-ui使用表格展示微信头像
  8. 一些开源代码网站介绍(持续添加中....)
  9. 海量数据处理专题(八)——倒排索引(搜索引擎之基石)
  10. NoSQL入门------关于NoSQL