内容分享:Python批量采集美女内容并把音频数据和画面内容合并保存
优采云 发布时间: 2022-10-19 07:16内容分享:Python批量采集美女内容并把音频数据和画面内容合并保存
你好鸭!我是熊猫
环境使用:(/?_wv=1027&k=Ap5XvyNN) 模块使用:(/?_wv=1027&k=Ap5XvyNN) 内置模块(/?_wv=1027&k=Ap5XvyNN)
可以安装python环境
Python有哪些应用学习方向?网站开发:(/?_wv=1027&k=Ap5XvyNN)
比如目前优秀的全栈django和frameworkflask,都继承了python简洁明了的风格,开发效率高,易维护,与自动化运维很好的结合。
Python已经成为自动化运维平台领域的事实标准;
网站 由python开发:
豆瓣、Youtube、Dropbox、豆瓣...等
爬虫 (/?_wv=1027&k=Ap5XvyNN)
在爬虫领域,Python几乎占据主导地位,将网络的所有数据作为资源,通过自动化程序进行针对性的数据采集处理。
从事该领域的人应该学习爬虫策略、高性能异步IO、分布式爬虫等,并对Scrapy框架的源码进行深入分析,了解其原理,实现自定义爬虫框架。
数据分析
与其他解释性语言相比,Python语言最大的特点是其庞大而活跃的科学计算生态系统。
有相当完整和优秀的数据分析、交互和可视化库。
自动化脚本
执行许多重复性任务,例如阅读 pdf、播放音乐、查看天气、打开书签、清理文件夹等,
使用自动化脚本就不需要一次又一次地手动完成这些任务,非常方便。
人工智能
各种人工智能算法都是基于Python编写的,尤其是PyTorch之后,Python作为AI时代主导语言的地位基本确定。
游戏开发/辅助自动化测试运维
基本四个步骤:发送请求
2. 获取数据
3.解析数据
4. 保存数据
完整代码 (/?_wv=1027&k=Ap5XvyNN)
header里面有个网址我删了~你可以自己加
import requests # 数据请求模块
import re # 正则表达式模块
import json # 序列化与反序列化
import pprint # 格式化输出模块
import subprocess
import os # 文件操作模块
def get_response(html_url):
"""
发送请求函数
模拟浏览器对于url地址发送请求, 获取服务器返回响应数据
请求头headers是用来伪装
user-agent: 用户代理 表示浏览器基本身份标识
:param html_url: 要请求网址是什么
:return: response 服务器返回响应数据
"""
headers = {
'referer': '',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'
}
response = requests.get(url=html_url, headers=headers) # 响应对象
# 200 状态码 表示请求成功
# print(response)
return response
<p>
def get_video_info(html_url):
"""
获取视频信息函数
def 关键字 用自定义函数 get_video_info函数名 html_url 形式参数
:param html_url: 传入视频播放页面url地址
:return: 视频信息
正则表达式提取数据:
re.findall() 需要给这个括号里面传两个基本参数
从什么地方去找什么样数据
re.findall('', response.text)
从response.text里面去找 这段数据
这段数据中 (.*?) 这段就是我们想要数据 .*?表示匹配任意字符(除了换行符\n以外)
正则表达式 全部掌握, 系统学习2.5个小时
列表 list 正则匹配出来的数据返回列表
[0] 取列表里第一个元素
"""
response = get_response(html_url=html_url)
# print(response.text) # 网页源代码 js逆向需要你掌握JavaScript基础语法
title = re.findall('', response.text)[0].replace(' ', '')
html_data = re.findall('window.__playinfo__=(.*?)', response.text)[0]
# print(title)
# print(html_data)
# print(type(html_data)) # type内置函数, 可以查看数据类型
json_data = json.loads(html_data)
# print(json_data)
# print(type(json_data))
# pprint.pprint(json_data)
# 字典取值好处: 键值对取值 根据冒号左边内容, 提取冒号右边内容
"""
源码、解答、教程、资料加Q群:660193417
dit = {
'键1': '值1',
'键2': '值2',
}
dit['键2'] >>> '值2' jsonpath
"""
audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
video_url = json_data['data']['dash']['video'][0]['baseUrl']
# print(title)
# print(audio_url)
# print(video_url)
video_info = [title, audio_url, video_url]
return video_info
def save(title, audio_url, video_url):
"""
保存数据函数
:param title: 视频标题
:param audio_url: 音频url
:param video_url: 视频url
:return:
"""
# 调用前面定义好的数据请求函数
audio_content = get_response(html_url=audio_url).content # 获取视频和音频二进制数据内容
video_content = get_response(html_url=video_url).content
# wb二进制写入数据
with open('video\\' + title + '.mp3', mode='wb') as f: # 保存数据, 保存数据前提是得获取数据
f.write(audio_content)
with open('video\\' + title + '.mp4', mode='wb') as f: # 保存数据, 保存数据前提是得获取数据
f.write(video_content)
print(title, '保存成功')
# 合并视频 需要 ffmpeg软件 *敏*感*词*熊猫获取
cmd = f"D:\\demo\\ffmpeg\\bin\\ffmpeg.exe -i video\\{title}.mp4 -i video\\{title}.mp3 -c:v copy -c:a aac -strict experimental video\\{title}output.mp4"
subprocess.run(cmd, shell=True)
os.remove(f'video\\{title}.mp4')
os.remove(f'video\\{title}.mp3')
def main(bv_id):
"""
主函数 整合前面所有定义好的函数
:param bv_id: 视频bv号 视频ID
:return:
"""
link = f'https://www.bilibili.com/video/{bv_id}'
video_info = get_video_info(html_url=link) # 调用获取视频信息函数 返回数据是什么?
save(video_info[0], video_info[1], video_info[2]) # 保存函数
if __name__ == '__main__':
# 函数入口 当文件运行时的时候下面的代码块会被执行
# 当文件被当作模块被调用的时候, 下面的代码不会执行
# print('hello')
# bv = input('请输入你想要下载视频BV号: ')
for page in range(1, 7):
index_url = f'https://api.bilibili.com/x/space/arc/search?mid=487939159&ps=30&tid=0&pn={page}&keyword=&order=pubdate&jsonp=jsonp'
json_data = get_response(html_url=index_url).json()
# pprint.pprint(json_data)
bv_id_list = [i['bvid'] for i in json_data['data']['list']['vlist']]
title_list = [i['title'] for i in json_data['data']['list']['vlist']]
print(bv_id_list)
print(title_list)
# for bv_id in bv_id_list:
# main(bv_id=bv_id)</p>
结语
没有通往成功的捷径,也没有通往幸福的大道。
所有的成功都来自孜孜不倦的努力和奔跑,所有的快乐来自平凡的奋斗和坚持
愿一切美好如期而至,未来的生活不会如期而至,也不会辜负。
- 励志名言
到此文章就完了~有兴趣的朋友可以复制代码试试
您的支持是我最大的动力!!谢谢陪伴~
记住三联~欢迎阅读前文文章
我是小熊猫,下篇见文章(✿◡‿◡)
免费获取:文本分割器-在线TXT文本分割器-在线TXT文本采集器免费
文本分割器,什么是文本分割器,常见的一种是TXT文本分割器,一个TXT内容太多,需要分成几个段落,大家都会用到文本分割器。今天给大家分享一篇免费的自动文章segmentation采集,自动文章aggregation采集,设置多个文章采集的文章一篇文章文章。详情请参考图1、2、3、4、5
关于官网的优化,今天我们可以原则性的讲这些问题。这样做,一方面可以帮助老板正确认识SEO,及时调整公司战略。第二个方面,还可以辅助SEO人员在正确的环境下拓展SEO的工作。
SEO从前不了解,后来把SEO当成神话。SEO不是什么神通,在我们理想的社会里,没有一夜暴富的幻想。如今的SEO,早已如同社会的理想运作法则一样。要想把网站推上去,要么要努力网站,还要靠时间,要么就得花钱。其他方法不多。
搜索引擎算法发展的趋势之一是合理化和规范化什么是合理和正常的。如何理解。如果一个网站突然将采集1亿数据导入网站,立即获得500万日UV;如果一个 网站 突然导入 200,000 个链接,搜索一个 关键词 ,立即获得第一个。这游戏还能玩吗?
SEO人员所做的一切工作调整,都需要等待搜索引擎算法的时间考验,才能看到响应的变化。在早期的搜索引擎算法不完善的时候,确实有很多机会,但是这些不足大多在秋天随着搜索引擎算法的改进而得到解决。俗话说:出去玩,总要还钱。
网站运营最关键的工作就是引流。没有人知道网站操作背后的工作是无法进行的,所以我们每天都要关注我们的网站流量。通常我们给网站设备统计代码,然后每天采集网站用户访问数据。但是很多时候我们会遇到这种情况,也就是网站的流量显示异常下降,但是很多时候遇到网站的流量异常,尤其是新手,会慌,我不不知道原因,也不知道从哪里开始分析,更别说想出有效的解决方案了。老板问了半天原因,也没能说明情况。今天何阳就来和大家聊聊,当我们的<
普通人发现自己的网站流量突然下降后,首先要弄清楚的是:哪个源的网站流量通道异常?知道答案的最佳方法是什么?就是登录我的网站分析后台查看流量来源渠道报告,做对比分析;
下面的事情以百度统计为例,步骤大致如下:
登录百度统计后台-->查找流量来源报告-->开始同比分析;
下面是一个GA统计的例子,步骤大致如下:
登录GA统计后台-->查找流量获取报告-->概览-->频道-->来源/媒体;
当我们知道哪个流量来源有问题时,就会确定根本方向。这时候,我们就需要从头脑中选出一些导致流量突然下降的常见因素,停止匹配我们已经确定的大方向。,最后找到原因并提出治疗方案。那么问题来了,网站流量下降的可能原因有哪些?我在这里给你一些想法,希望对你有所帮助。
常见的统计编码错误有很多种。比如在网站的改版过程中,由于使用了不同的模板信息,导致部分页面的统计代码没有正确安装,或者网站中有其他JS代码和统计冲突,服务器异常或配置不正确(如暂停报表操作)等都会导致统计代码工作异常。
无论你使用什么技术或方法,你都喜欢告诉大家技术背后的想法以及我们应该如何思考它,以便我们能够快速控制它。其实网站流量骤降也是一样。首先,确保大方向是当前流量是什么渠道。异常,然后分析与该通道相关的每一个元素,以便我们快速定位异常的原因并找到解决方案。