用Python写了一个下载网站所有内容的软件,可见即可下

本文介绍了如何使用Python 3.8和PyCharm专业版编写一个下载工具,该工具能够下载网站上的视频、弹幕和评论,并提供了GUI界面,使得操作更加便捷。详细讲解了代码实现和各个功能的实现步骤。

前言

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

今天我们分享一个用Python写下载视频+弹幕+评论的代码。

顺便把这些写成GUI,把这些功能放到一起让朋友用起来更方便~

环境介绍:

  • python 3.8

  • pycharm 2022专业版 >>> 免费使用教程文末名片获取

python资料、源码、教程\福利皆: 点击此处跳转文末名片获取

代码实战

主要代码分为界面和采集部分

获取数据

网址我屏蔽了,防止误杀。

获取视频
import requests
import re
import json
from pprint import  pprint
import subprocess
import os

def Video(bv_id):
    url = f'https://www.***.com/video/{bv_id}'
    headers = {
   
   
        # 防盗链
        'referer': 'https://www.***.com/video/',
        # 浏览器基本身份标识 表示浏览器
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
    # 发送请求 ---> <Response [200]> 响应对象,  200状态码 表示请求成功
    response = requests.get(url=url, headers=headers)

    # 获取视频标题
    title = re.findall('"title":"(.*?)","pubdate"', response.text)[0].replace(' ', '')
    # 获取视频数据信息 前端标签两个两个一起
    html_data = re.findall('<script>window.__playinfo__=(.*?)</script>', response.text)[0]
    # 转换数据类型  字符串数据转成json字典数据类型
    json_data = json.loads(html_data)
    # print打印字典数据, 输出一行内容 print(json_data)
    # pprint 打印字典数据, 格式化输出 展开效果 pprint(json_data)
    # 字典数据 B站数据 音频和视频分开的 根据冒号左边的内容, 提取冒号右边的内容 键值对取值
    完整源码、解答、教程皆+VX:qian97378获取
    audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
    video_url = json_data['data']['dash']['video'][0]['baseUrl']
    # 403 Forbidden 没有访问权限.....
    audio_content = requests.get(url=audio_url, headers=headers).content
    video_content = requests.get(url=video_url, headers=headers).content
    if not os.path.exists('video\\'):
        os.mkdir('video\\')
    with open('video\\' + title + '.mp3', mode='wb') as audio:
        audio.write(audio_content)
    with open('video\\' + title 
要在Python中创建一个程序,在局域网内部的交流软件(比如QQ、微信企业版、钉钉等)上分享或访问共享文档,这通常涉及到网络文件共享协议如SMB(Server Message Block,Windows网络文件共享)或者HTTP(S)。由于大多数现代通信软件并不直接支持这种功能,我们通常需要借助第三方API或库来进行间接操作。 以下是一个基本的步骤: 1. **使用SMB(仅限Windows)**: - 使用`smbprotocol`库连接到SMB服务器,如`smb.SMBConnection`。你需要知道目标机器的IP地址和共享文件夹的名称。 ```python from smbprotocol.client import SMBClient client = SMBClient('192.168.1.100', username='username', password='password') with client: client.connect() share = client.get_share('SharedFolder') file_path = share.get_file('document.txt') with file_path.open('rb') as f: # 读取文件内容并发送给其他程序或用户 ``` 2. **使用WebDAV(跨平台)**: 如果网络软件支持WebDAV,可以使用`webdav4`库连接并管理文件。首先,你需要获取到WebDAV URL和可能的认证凭证。 ```python from webdav4.client import Client dav_client = Client('http://192.168.1.100/davshare', auth=('username', 'password')) file_path = '/path/to/document.txt' with dav_client: # 通过文件路径下载或上传文件 ``` 3. **使用HTTP(S)**: 如果文件是公开可见的,可以直接发送HTTP请求。使用`requests`库即可。 ```python import requests url = 'http://192.168.1.100/path/to/document.txt' response = requests.get(url) content = response.text # 获取文件内容 ``` 请注意,这些示例需要相应的权限,并且不是所有局域网内的应用都允许外部访问其文件系统。而且有些应用可能会有安全限制或防火墙阻止非内置客户端的访问。在实施之前,最好查阅目标应用的开发者文档或寻求管理员的帮助。
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值