IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 爬取糗事百科小视频 -> 正文阅读

[Python知识库]爬取糗事百科小视频


前言

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


一、使用工具

电脑系统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


总结

运行结果还行,但是现在反爬技术也在发展的,所以如果此教程出现运行错误,请多多包涵
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 21:35:32  更:2021-11-14 21:35:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/31 5:27:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码