之前在工作中有点忙,所以就没有写文章。因为之前有写过爬取图片的文章 ,所以今天就想写一篇爬取视频的文章。

首先第一步还是先要分析站,确定要爬取的网站链接:

https://haokan.baidu.com/tab/gaoxiao

爬取的视频为搞笑这个栏目的视频。

接下来要做的就是网站数据包的抓取,谷歌浏览器的抓包工具为我们分类好了每一个网络数据包的类型。

通过对该网站的分析可以得出网站是通过Ajax来局部刷新的,因为你不断往下拉的过程中,一个一个视频会跟着加载出来,所以,判断这是Ajax局部刷新。在不断下拉的过程中会加载出大量的数据包,当然有效数据包含在接口类型的数据中。

既然已经分析出,接口数据了那么接下来就可以通过这个接口数据获取到视频的标题与链接了。

经过测试,发现play_url是视频的链接。

根据接口的headers信息,找到request url,这个就是我们需要请求的url地址。

看看刚刚那些参数会不会有什么变化

接下来开始上代码:

首先第一步,获取所有的接口数据。

# 获取数据
def get_data(url):response = requests.get(url, headers=headers)if response.status_code == 200:data = response.json()else:print('请求失败')return data

第二步,获取数据中videos下的所有内容,vedios下的内容就包括视频的标题与链接

# 获取视频列表
def get_video_list(data):video_lists = data['data']['response']['videos']return video_lists

获取到视频列表之后,就对视频的链接play_url发起请求,获取视频流,一般图片、视频、音频都是二进制文件。

def save_vedio(vedio_lists):# page = 0# while True:#     page += 1#     print('=' * 20 + '正在下载第{}页'.format(page) + '='*20)for vedio_list in vedio_lists:try:vedio_url = vedio_list['play_url']vedio_title = vedio_list['title'] + '.mp4'time.sleep(5)
​vedio = requests.get(vedio_url, headers=headers).contentif not os.path.exists('vedio'):os.mkdir('vedio')with open('./vedio/{}'.format(vedio_title), mode='wb') as f:f.write(vedio)
​except Exception as e:breakprint('下载完成\n\n')

最后发现一个问题,就是通过这样的方式只能获取到20个视频,往下加载的视频无法获取到,这是为什么呢?

通过不断的检查发现每次下拉过程中抓取到的接口数据包都是一样的,最后经过测试发现,这个是cookies信息包含了时间戳,通过这一点来为访问的用户加载出其他页面的视频,这里的其他页面指的是每下拉加载一次为一页。

所以这里要构造请求头的时候要添加cookie信息,接下来你也会发现你获取的视频与你在浏览器中的不同。当然不同啦,你每访问一次就相当于刷新一下页面,你每一次刷新里面的视频内容都是不一样的。

代码已经上传到github和百度网盘

在公众号回复:好看视频即可获取代码。

B站视频链接:https://space.bilibili.com/401204029/video

现在可能未更新大概在5月17日20点会更新视频!!

好了,到这里又要跟大家说再见的时候了。希望我的文章能带给您知识,带给您帮助!同时也谢谢您能抽出宝贵的时间阅读,创作不易,如果您喜欢的话,点个关注再走吧。您的支持是我创作的动力,希望今后能带给大家更多优质的文章。

欢迎大家关注公众号或者添加我的个人微信将第一时间获得更新

Python爬虫之好看视频相关推荐

  1. 抖音APP数据python爬虫——个人粉丝视频

    抖音APP数据python爬虫--个人粉丝视频 学习分享,勿触底线. 最近有改进了,之前获取_signature参数的方式有点low.现在用pm2部署一下node接口美滋滋. 代码就不放了,可以去最后 ...

  2. Python爬虫:短视频平台无水印下载(上)

    本博客所写爬取规则最近更新日期为:2020/12/11 新增:西瓜视频 皮皮虾的解析规则已经失效,新版规则已更新 提醒:转载请标明作者和原文链接!!! CSDN个人主页: 高智商白痴 原文地址: ht ...

  3. Python爬虫:短视频平台无水印下载!强不强?

    导入: 虽然目前有些软件还没适配,但是,我发了 Blink 后有一写人留言或者私信找我要源码,不过我还在增加适配的软件,所以还没有时间写这篇博客,今天呢,就先把我目前适配了的代码拿出来,后续还会继续适 ...

  4. Python爬虫:短视频平台无水印下载!这个操作有点东西!

    导入: 虽然目前有些软件还没适配,但是,我发了 Blink 后有一写人留言或者私信找我要源码,不过我还在增加适配的软件,所以还没有时间写这篇博客,今天呢,就先把我目前适配了的代码拿出来,后续还会继续适 ...

  5. python爬虫爬取视频_python爬虫:爬取网站视频

    新建一个py文件,代码如下: #!/usr/bin/python # -*- coding: UTF-8 -*- import urllib,re,requests import sys reload ...

  6. python爬虫淘宝视频_识别假货有绝招,就用python爬淘宝评论(附视频教程)

    之前我水平有限,对于淘宝评论这种动态网页,由于数据在网页源码中是找不到的,所以无法抓取数据,只能使用selenium模仿人操控浏览器来抓数据, 优点是可见容易且不宜被淘宝公司封锁:缺点是速度太慢. 经 ...

  7. Python爬虫技巧-西瓜视频MP4地址获取

    记录一下西瓜视频MP4地址的获取步骤 目标: 指定西瓜视频地址,如 https://www.ixigua.com/a6562763969642103303/#mid=6602323830,获取其视频M ...

  8. Python爬虫项目--爱拍视频批量下载

    简单的分析一下这个爱拍视频 总结起来 就是及其不安全的一个网站 想获取登录态 很简单到只要设置cookie就ok了 也是很惊讶,然后就是正常爬取流程了.说明一下,建议设置https 然后登录安全要做好 ...

  9. python爬虫淘宝视频_Python2爬虫:以抓取淘宝MM为例(实战)

    本篇目标 1.抓取淘宝MM的姓名,头像,年龄 2.抓取每一个MM的资料简介以及写真图片 3.把每一个MM的写真图片按照文件夹保存到本地 4.熟悉文件保存的过程 1.URL的格式 在这里我们用到的URL ...

最新文章

  1. Web.config配置文件的加密,解密及读写操作
  2. web服务器是如何维护,我们如何维护Web客户端和Web服务器之间的会话?
  3. mysql事件计划自动_逐步讲解MySQL中定时事件计划的创建
  4. SVN中“txn-current-lock:拒绝访问”错误
  5. linux中iptable中端口,Linux如何打开iptables中的端口
  6. 6月统计|.NET薪资一旦高起来,岂是其他语言能比的!
  7. cmdb整体项目梳理(2)
  8. TikTok欧洲首个数据中心将建在爱尔兰 投资5亿美元
  9. FeatureLayer.FeatureClass.Feature --以及图层最容易理解的讲解;如有巧合,一定是别人抄袭(Arcgis辅助理解)
  10. ZF环境要求及如何配置
  11. 《天风文章》 V1.1.0设计文档
  12. python怎么读取csv文件-使用Python读写csv文件的三种方法
  13. livedata mvvm_Android MVVM LiveData数据绑定
  14. Go语言优秀Web框架
  15. Android Studio 写个单元测试用例,就是这么方便
  16. 【支付】——毕业设计中利用websocket做模拟支付
  17. 中国经济形势开年如何看?
  18. StreamNative翟佳:若无社区,开源项目可能是个死项目
  19. 名帖301 刘墉 行书《自作诗卷》
  20. 动态gif图如何裁剪?一个小窍门教你在线裁剪动图

热门文章

  1. 计算机所带来的改变英语作文,电脑改变我的生活英文作文
  2. 计算机职业规划作文英语作文,大学生职业规划英语作文
  3. HTC G2 超级新手教程之最终版
  4. python实现文本情感分析_用python实现简单的文本情感分析
  5. 美国地质调查局SRTM--30米DEM数据
  6. FFmpeg源代码简单分析-通用-avio_open2()
  7. 《学术小白的学习之路 07》自然语言处理之 LDA主题模型 01
  8. Linux下sysstat安装使用图文详解
  9. wsus可以打mysql中间件补丁_配置WSUS3.0服务器给客户机分发补丁
  10. 分频器设计(三)小数分频