前言
废话不多说,直接上操作。
一、使用工具
电脑系统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
总结
运行结果还行,但是现在反爬技术也在发展的,所以如果此教程出现运行错误,请多多包涵
|