爬取糗事百科小视频

本文介绍了如何使用Python的requests和BeautifulSoup库来爬取网页视频。首先,介绍了所需的工具和第三方库,接着详细阐述了发送URL请求、设置浏览器信息、解析HTML以及保存视频的步骤。通过示例代码展示了如何获取并下载视频的过程,并提供了源代码下载链接。
摘要由CSDN通过智能技术生成


前言

废话不多说,直接上操作。


一、使用工具

电脑系统win10
浏览器:星愿浏览器
python解释器3.9.6
编辑器PyCharm Community Edition 2021.2.3
python第三方库
os
requests
beautifulsoup

二、第三方库的简介

Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。更重要的一点是它支持 Python3 哦!

Beautiful Soup 提供一些简单的、python 式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。 Beautiful Soup 自动将输入文档转换为 Unicode 编码,输出文档转换为 utf-8 编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup 就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。 Beautiful Soup 已成为和 lxml、html6lib 一样出色的 python 解释器,为用户灵活地提供不同的解析策略或强劲的速度。

三、使用步骤

1.引入库

代码如下(示例):

import requests
from bs4 import BeautifulSoup
import os

2.发送url请求

这个是视频网站网址:
https://www.qiushibaike.com/video/

url = 'https://www.qiushibaike.com/video/'

3.发送请求浏览器信息

代码如下(示例):

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/95.0.4638.54 Safari/537.36 '
}

4.应用requests的get

resp = requests.get(url,headers=headers)
resp.encoding = 'utf-8'
print(resp.text)

5.先简单测试一下是非发送请求成功

这是pycharm的源代码照片截图:
在这里插入图片描述
在pycharm界面鼠标右键点击Run或者快捷键Ctrl+Shift+F10或Ctrl+Shift+Fn+F10
在这里插入图片描述

运行结果如下:
#由于运行结果有点长所以只截屏一部分重要的,希望理解
在这里插入图片描述

看到这里说明我们已经成功发送请求成功了

6.运用beautifulsoup

beautifulsoup的使用方法:
在这里插入图片描述
在星愿浏览器输入下面这个网址然后回车:
https://www.qiushibaike.com/video/
然后按F12或者Fn+F12
接下来就是下图的操作:
在这里插入图片描述

bs = BeautifulSoup(resp.text, 'html.parser')
sources = bs.find_all('source')
print(sources)

在这里插入图片描述
运行结果如下:
在这里插入图片描述
说明我们成功获取视频的url了,但是还没有完全获取
需要运用split

for k, shipin_url in enumerate(sources):
    src = str(shipin_url.get('src'))
    suf = '.' + src.split('.')[-1]
    print(src)

在这里插入图片描述
运行结果如下:
在这里插入图片描述
说明我们已经成功一半了,还有下一步就可以获取完整的视频url

    if src.startswith('//'):
        src = 'https:' + src
        print(src)

在这里插入图片描述
运行结果如下:
在这里插入图片描述
说明我们成功了,完美
复制其中一个url去星愿浏览器看看有没有反应
https://qiubai-video.qiushibaike.com/PJDN9GRELAY4SO2G_hd.mp4
在这里插入图片描述
出现这种情况,完美

7.保存视频,下载到电脑

话不多说,直接上操作

    with open('path' + '//' + str(k) + suf, 'wb') as file:
        resp = requests.get(src, headers)
        file.write(resp.content)
        print(f'{k}{suf}爬取成功')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、源代码下载链接

我用阿里云盘分享了「爬取视频.py」,你可以不限速下载🚀
复制这段内容打开「阿里云盘」App 即可获取
链接:https://www.aliyundrive.com/s/qT5MD61nmAQ


总结

运行结果还行,但是现在反爬技术也在发展的,所以如果此教程出现运行错误,请多多包涵
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你的未来不值得想象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值