前言

嗨喽!大家好呀,这里是魔王~**

第三方模块:

  • requests >>> pip install requests

模块安装问题:

如果安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
  2. 在pycharm中点击Terminal(终端) 输入安装命令

如何配置pycharm里面的python解释器?

  1. 选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器)
  2. 点击齿轮, 选择add
  3. 添加python安装路径

pycharm如何安装插件?

  1. 选择file(文件) >>> setting(设置) >>> Plugins(插件)
  2. 点击 Marketplace 输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese
  3. 选择相应的插件点击 install(安装) 即可
  4. 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效

Python: 编程语言()

用计算机语言(0 1): 用来跟计算机进行交互的语言

翻译 英文单词翻译成 0 或者 1 python 3.8

实现一系列操作

代码编辑器: pycharm 2021.2

解答、资料、源码点击领取~或左侧主页


Python: 工具

内置模块

第三方模块


环境介绍:

  • python 3.8 解释器
  • pycharm 编辑器
  • ffmpeg 音视频合成软件

抓数据 (当前视频链接,音频链接)

Request URL: https://www.ixigua.com/7057054074503430693
Request Method: GET

代码实现:

  1. 发送请求 (访问网站)
  2. 获取数据
  3. 解析数据 (base64解码)
  4. 保存数据 (视频 音频)
  5. 音视频合并

代码

导入模块

import requests     # 发送请求 第三方
import re           # 内置模块
import json
import base64
import subprocess
import os

加一个伪装

headers = {'cookie': 'MONITOR_WEB_ID=c27b9f4a-4917-4256-be93-e948308467e3; ttcid=0cbb8baca16443e8b2320dfcb0ebd3ab24; __gads=ID=b750d35ceb3b300e-22f59bfba5d0002a:T=1645008733:RT=1645008733:S=ALNI_MZSPYii3eywVYfjuGdExhE-Dw3tLw; BD_REF=1; support_webp=true; support_avif=true; _tea_utm_cache_1300=undefined; s_v_web_id=verify_l2kdgr6l_ZlYcneu1_fb24_4lQM_A1cp_pBZKlKxvJKzJ; passport_csrf_token=7e1f1777c680a1dd9f163d6916212e62; passport_csrf_token_default=7e1f1777c680a1dd9f163d6916212e62; sid_guard=880626da6250e5535bcc3b35a5804a5c%7C1651232961%7C3023999%7CFri%2C+03-Jun-2022+11%3A49%3A20+GMT; uid_tt=d87f79c88dc25ca91c644549863616c8; uid_tt_ss=d87f79c88dc25ca91c644549863616c8; sid_tt=880626da6250e5535bcc3b35a5804a5c; sessionid=880626da6250e5535bcc3b35a5804a5c; sessionid_ss=880626da6250e5535bcc3b35a5804a5c; sid_ucp_v1=1.0.0-KGE4ZTdhODI0MjQ3Y2IyY2Y2ZmQwYjkzYTFhNDljYjdjYjdhM2U3OTgKFAjo5IrYFxDBoa-TBhgYIAw4CEAFGgJsZiIgODgwNjI2ZGE2MjUwZTU1MzViY2MzYjM1YTU4MDRhNWM; ssid_ucp_v1=1.0.0-KGE4ZTdhODI0MjQ3Y2IyY2Y2ZmQwYjkzYTFhNDljYjdjYjdhM2U3OTgKFAjo5IrYFxDBoa-TBhgYIAw4CEAFGgJsZiIgODgwNjI2ZGE2MjUwZTU1MzViY2MzYjM1YTU4MDRhNWM; odin_tt=ab7eaf992f0e5cc3871fd8fde7797f8253548498d52cd8f6320c1d408d8fb5f853f6b88fe9d3e249e91b0baac908955a; tt_scid=yZBs23biytSrdLbhg4PwtQsnp5iRak5-8X3Y.rM36zEzqMDW4OWKwf0CAfb4Sa8r725a; ttwid=1%7Cbki1kBY9AbTODWRF62oQmAFNNd1E9JpOrWrMnRcIdwY%7C1651234433%7C69cbf75423181a837f3739e9b73665b4dc82f1070d93934d5843d3ece167b776; __ac_nonce=0626bd85f00123bbca353; __ac_signature=_02B4Z6wo00f010qt8RAAAIDCKacxeDkkRtdKifWAALDLGZ5UTxtgNht0fiirvQ84GFg6fgEpzmKoOpzBna11K-91eblu7vLsme2e9DrawirS.iQkhzxxQA-2FbYMTkKz.zBC6phs4yeOUKGUc6; ixigua-a-s=3; msToken=wDc7U1VNr5xcJOObHh92pRLYNHcJkoa27rC9g9KpqtmyPZRHrp8KwNXRK82rkr2w-XEzqsGab7i_YSSrqQLCbvxl9etcaF4ElWGCvfE9-94Wyw4v8Fuq-LcizatEUIE=','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36'
}
url = 'https://www.ixigua.com/7090467065097617931'

1. 发送请求 (访问网站)

response = requests.get(url, headers=headers)
# 乱码
response.encoding = 'utf-8'
# <Response [200]>: 访问成功

2. 获取数据

html_data = response.text

3. 解析数据 (base64解码)

# _SSR_HYDRATED_DATA=(.*?)</script>
# (.*?): 匹配任何字符 换行符除外
json_str = re.findall('_SSR_HYDRATED_DATA=(.*?)</script>', html_data)[0]
# undefined 替换为 null
json_str = json_str.replace('undefined', 'null')
json_dict = json.loads(json_str)
title = json_dict['anyVideo']['gidInformation']['packerData']['video']['title']
title = title.replace(' ', '')
video_url = json_dict['anyVideo']['gidInformation']['packerData']['video']['videoResource']['dash']['dynamic_video']['dynamic_video_list'][-1]['main_url']
audio_url = json_dict['anyVideo']['gidInformation']['packerData']['video']['videoResource']['dash']['dynamic_video']['dynamic_audio_list'][-1]['main_url']
video_url = base64.b64decode(video_url)
audio_url = base64.b64decode(audio_url)
video_url = video_url.decode()
audio_url = audio_url.decode()

4. 保存数据 (视频 音频)

video_data = requests.get(video_url).content
with open(f'{title}.mp4', mode='wb') as f:f.write(video_data)
audio_data = requests.get(audio_url).content
with open(f'{title}.mp3', mode='wb') as f:f.write(audio_data)
ffmpeg = r'ffmpeg -i ' + title + '.mp4 -i ' + title + '.mp3 -acodec copy -vcodec copy ' + title + '-out.mp4'
subprocess.run(ffmpeg)
os.remove(f'{title}.mp3')
os.remove(f'{title}.mp4')

尾语

好了,我的这篇文章写到这里就结束啦!

有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

美女视频都想下载,今天我们就来批量下载它们~相关推荐

  1. 自媒体视频素材网站有哪些?怎么批量下载素材

    自媒体视频素材网站有哪些,怎么批量下载素材,现在有很多自媒体人问我自媒体视频素材网站有哪些,现在公认流量最大的内容,就是视频内容,视频比文章更容易推广,曝光量也更大,但是视频的素材比较难找,很多视频运 ...

  2. Lrc歌词批量下载助手 MP3歌词批量下载助手

    Lrc歌词批量下载助手  MP3歌词批量下载助手   易歌词的服务器已经挂掉,各个主流播放器已不提供明确的下载Lrc服务,当上G的MP3文件遇上苦逼的播放器,二缺就诞生了!本软件就是在这种背景下诞生的 ...

  3. 下载网页图片-如何批量下载网页图片-批量图片下载工具免费

    下载网页图片,今天给大家分享一款免费批量下载网页图片软件,支持任意格式的图片批量下载,只需要输入关键词或批量导入网页链接即可下载图片.批量下载任意网页上的图片,每个人都可以拥有各种高清图源.支持批量图 ...

  4. python下载b站视频_爬虫可以当是一个批量下载工具!用Python批量下载B站视频

    说起B站,肯定人人都知道吧,B站的反扒机制并不是太严格,所以今天我准备给大家说说我能想到的几种方式,目前大概想到了三种方式: 1.模拟手机端请求,视频链接就添加在源码中.(最简单.但清晰度不好) 2. ...

  5. python批量下载b站_PYTHON批量下载B站视频小脚本

    无聊废话 最近在学习HCIE的视频,收藏了几个相关的视频,结果前几天...视频被下架了了...呃...(⊙o⊙)- 视频被下架 视频被下架了...我学了一半呀...哭... 在网上一顿找,依旧找不到. ...

  6. python批量下载b站_批量下载b站任意视频的做法

    以前整过下面这篇: 这次来简单扩展一下做法,如果我想下的是任意多个视频怎么办?比如有时我找了感兴趣的几个或者十几个视频,这没什么规律,但想一次操作就批量下下来,一个个点有点懒-x 本文介绍的是Wind ...

  7. python批量下载b站_python 批量下载bilibili视频的gui程序

    运行效果: 完整代码: # !/usr/bin/python # -*- coding:utf-8 -*- # time: 2019/07/02--08:12 __author__ = 'Henry' ...

  8. 在线视频下载-猫抓+M3U8批量下载合并

    1.猫抓 猫抓是一款目前比较好用的网页视频嗅探插件. 对于一些播放大型视频的网站,视频通常是分段的,猫抓只能嗅探出一个m3u8文件 将猫抓嗅探出的m3u8地址复制,粘贴到"M3U8批量下载器 ...

  9. IDM(功能强大的下载工具)IDM可以批量下载视频吗?

    IDM是指Internet Download Manager,是一款功能强大的下载工具软件.它可以加速下载速度,支持断点续传,还可以自动捕捉下载链接,方便用户进行下载管理.同时,IDM还支持多任务下载 ...

  10. 谷歌浏览器批量下载数据,以批量下载modis数据为例

    这是最近我在下载MOD09A1数据时,总结的经验,以便在日后用到的时候查阅,同时向小伙伴们分享一下. 文章可能有点长,但是很详细,想要通过谷歌浏览器批量下载数据,都可以参考本文. 一.所需材料与配置 ...

最新文章

  1. git 覆盖本地修改_Git拉力–如何使用Git覆盖本地更改
  2. 面试 HTTP ,99% 的面试官都爱问这些问题!
  3. Chrome_调试js出现Uncaught SyntaxError: Unexpected identifier
  4. 为什么要用promise处理ajax,用promise.all解决ajax异步循环请求问题
  5. linux空文件夹大小,[转载]linux 查看文件和文件夹大小
  6. 7天减排超万吨 特斯拉十一出行报告带来纯电出行全新视角
  7. ELK应用之一:ELK平台搭建部署
  8. python 执行shellcode_简述获取shellcode的几种方式
  9. 修改typora设置能够配对latex行间公式$ $
  10. JavaScript高级程序
  11. NovacoBridge 软件在电子海图更新中的应用
  12. 微服务网关——设计篇
  13. 阿里云服务器搭建私人云盘
  14. PLC是什么?它的作用是什么?
  15. 每日题解:LeetCode 718. 最长重复子数组
  16. 将git项目提交到其他的git仓库
  17. how to upload directory to github(怎么把文件目录上传到github)
  18. 可达编程 单源最短路
  19. Anaconda中的spyder安装Terminal插件
  20. LJJ王国的致富修路计划 sdut oj

热门文章

  1. MEGARAC(宝德)服务器BMC登录失败解决办法
  2. 电子病历基本数据集_电子病历质控的三项是因素-病历质控系统助力提升电子病历质量...
  3. charles https抓包证书安装
  4. 如何打印身份证的正反面
  5. usb万能驱动win7_win10改win7教程
  6. javase-模拟斗地主(源码+注释)
  7. STM8S单片机入门(前言)
  8. (CVPR-2022)具有密集 3D 表示和基准的野外步态识别
  9. FW:一位软件工程师的6年总结
  10. android一键改机之真改机build.prop