本套课程正式进入Python爬虫阶段,具体章节根据实际发布决定,可点击【python爬虫】分类专栏进行倒序观看:

【重点提示:请勿爬取有害他人或国家利益的内容,此课程虽可爬取互联网任意内容,但无任何收益,只为大家学习分享。】

开发环境:【Win10】

开发工具:【Visual Studio 2019】

Python版本:【3.7】

目标:【百度-->视频-->好看视频:https://haokan.baidu.com/?sfrom=baidu-top】

1、查找视频访问位置:

1.1、外层地址:

地址拼接测试:域名+a标签的href地址:【https://haokan.baidu.com/v?vid=1222867254140481571&tab=recommend】

访问成功:

那么是否有现成的数据集呢?咱们去网络里看看:

尝试成功:【https://haokan.baidu.com/v?vid=4077886395383397720&tab=recommend】

问题是打开的页面更换了个视频的vid~~~~拿到json集体试一试吧。

获取json:

2、获取json数据:

音乐:【https://haokan.baidu.com/videoui/api/videorec?tab=yinyue&act=pcFeed&pd=pc&num=5&shuaxin_id=1613369382977】

获取测试:

import requests
import uuid
import random
import time
#可更换
url ="https://haokan.baidu.com/videoui/api/videorec?tab=yinyue&act=pcFeed&pd=pc&num=5&shuaxin_id=1613369382977"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}
resp = requests.get(url, headers=headers)
resp_json = resp.json()
print(resp_json)

3、解析json数据:

我们主要要id和title就行,但是,我发现了好东西:【play_url】,明显的代表程序员sql查询的时候直接【select *】处理的。

有了地址就可以直接获取下载了:

import requests
import uuid
import random
import time
#可更换参数:tab={}&num={}我这里不多下载,10个就可以了。
url ="https://haokan.baidu.com/videoui/api/videorec?tab=yinyue&act=pcFeed&pd=pc&num=10&shuaxin_id=1613369382977"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}
resp = requests.get(url, headers=headers)
resp_json = resp.json()
data_list = resp_json['data']['response']['videos']
for x in data_list:print(x["play_url"])print(x["title"])

4、视频下载到本地:

import requests
import uuid
import random
import time
#可更换参数:tab={}&num={}我这里不多下载,10个就可以了。
url ="https://haokan.baidu.com/videoui/api/videorec?tab=yinyue&act=pcFeed&pd=pc&num=10&shuaxin_id=1613369382977"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}
resp = requests.get(url, headers=headers)
resp_json = resp.json()
data_list = resp_json['data']['response']['videos']
lst=[]
for x in data_list:lst.append({"play_url":x["play_url"],"title":x["title"]})#以下为存储过程
# 遍历列表存储所有图片
for item in lst:# 发送请求try:pic= requests.get(item["play_url"], timeout=100)except requests.exceptions.ConnectionError:print ('错误:当前视频无法下载')continue# uuid4为图片名称#,创建img文件夹, wb+:写入二进制数据file=open(str.format("{0}.mp4",item["title"]), 'wb+')file.write(pic.content)file.close()print(item["title"],"下载完毕")#每次操作完休息1~3stimeStop=random.randint(1,4)time.sleep(timeStop)
print("完成")

5、总结:

a)、百度视频 竟然各种不加密,让人感到很迷惑。

b)、可以保存保存点资源,毕竟流量都是包月的,哈哈。

欢迎【点赞】、【评论】、【关注】、【收藏】、【打赏】,为推广知识贡献力量。

零基础学Python-爬虫-5、下载网络视频相关推荐

  1. python学起来难不难-零基础学Python爬虫难不难?要怎么学?

    零基础学Python爬虫难不难?要怎么学?众所周知,Python是最容易上手的编程语言,如果有一定基础,学会Python爬虫也是分分钟钟的事.对于零基础的学习者来说,Python爬虫也是比较简单的,只 ...

  2. 零基础学 Python爬虫(5):前置准备(四)数据库基础

    人生苦短,我用 Python 本篇文章,我们接着介绍基础内容,数据库. 爬虫将数据爬取完成后,总要有地方存放吧,这个数据存在哪里呢? 当然是数据库中,那个说放在 Excel 里的,你给我站住! 当然 ...

  3. 零基础学 Python 爬虫(13):urllib 基础使用(三)

    人生苦短,我用 Python 引言 前面两篇基础,我们介绍请求发送的过程. 不知道各位同学有没有想过这样一个问题,如果在爬虫运行的过程中,网络突然波动了下,比如突然网速很慢很慢,造成当前的请求超时,程 ...

  4. 爬虫取中间文本_零基础学 Python 爬虫 I:了解爬虫基础

    人生苦短,我用 Python 引言 各位同学大家好,好久不见(可能只有一两天没见:囧)~~~ 先讲一件事情,昨天为啥没更新. emmmmmmmmm,当然是因为加班啦,快到年底了,公司项目比较忙,最近的 ...

  5. 零基础学python爬虫-零基础如何学爬虫技术?一篇带你入门!(理论+实操+荐书)...

    对于小白来说,爬虫可能是一件非常复杂.技术门槛很高的事情. 但掌握正确的方法,在短时间内做到能够爬取主流网站的数据,其实非常容易实现! 同时,你需要从一开始就有一个具体的目标!只有在目标的驱动下,你的 ...

  6. 零基础学python爬虫-我是如何零基础开始能写Python爬虫的

    刚开始接触爬虫的时候,简直惊为天人,十几行代码,就可以将无数网页的信息全部获取下来,自动选取网页元素,自动整理成结构化的文件. 利用这些数据,可以做很多领域的分析.市场调研,获得很多有价值的信息.这种 ...

  7. 零基础学python爬虫-零基础学习python_爬虫(53课)

    1.Url的格式简单介绍,如下图: 2.我们要对网站进行访问,需要用到python中的一个模块或者说一个包吧,urllib(这个在python2中是urllib+urllib2,python3将这两个 ...

  8. python数据分析与可视化从入门到精通_零基础学Python爬虫、数据分析与可视化从入门到精通...

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

  9. python零基础电子书免费下载-零基础学Python

    准备自学Python朋友,不放来看看<零基础学Python>吧!小编这里为各位送上的是这本书的全彩PDF版,该书从初学者角度出发,通过通俗易懂的语言.流行有趣的实例,详细地介绍了使用IDL ...

  10. python爬虫教程入门-零基础入门Python爬虫不知道怎么学?这是入门的完整教程

    原标题:零基础入门Python爬虫不知道怎么学?这是入门的完整教程 这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑 ...

最新文章

  1. TCP流量控制-TCP拥塞控制 拥塞控制与流量控制的区别
  2. 11、集合--Set接口
  3. 2016年5月29日周总结
  4. 看图识物_看图识物:下面图里是什么植物呢?请朋友们评论区留言
  5. java 引用被回收_java GC 静态List 如果没有引用会被回收吗
  6. python偶数列表_使用条件偶数列表创建带有地图的元组 - python
  7. SQL Server数据库技术大全——08讲 PD的使用
  8. 浅谈MDK环境下使用stdio.h的问题
  9. MATLAB学习笔记(二)——M文件
  10. 电动48V/60V自行车/摩托车/观光车电池检测设备,满足GB38031新国标测试
  11. 两个月的一些工作总结
  12. 图像压缩编码——香农-凡诺编码与霍夫曼编码
  13. Vmware_jjbLite_jb51不是有效的短文件名
  14. 第二次·2020-09-21
  15. 阿里云对象存储OSS文件上传
  16. 2018-11-5-win10-uwp-异步转同步
  17. 经典 CNN 神经网络 LeNet-5 的 C++ 实现(MNIST数据集)
  18. 带货直播源码,浅谈直播实现过程和技术
  19. 计算机论文答辩注意哪些问题,计算机毕业设计答辩(问题+技巧)
  20. 阿里云修改主机名hostname

热门文章

  1. python2的默认数字类型_1.2python基础_数字类型_数字(Number)类型
  2. linux suse 安装redis,在openSuse linux上Redis安装简单步骤
  3. 哈希表的画法_智慧树知到_机械制图A_答案新版
  4. pandas 如何判断指定列是否(全部)为NaN(空值)
  5. django中的中间件执行顺序
  6. docker ppt
  7. redis、memcache、mongoDB 对比
  8. webpack基础第一篇(配置文件)
  9. JMeter 正则表达式提取器(二)
  10. 解决EXCEL统计问题的分享