Python爬虫,用Python抓取头条视频内容,数据其实并没有藏那么深

综述

根据网站结构及数据类型,做出头条视频的爬虫,重点说明数据在网站的位置以及抓取办法

并介绍一个类似的网站,简单说明数据抓取办法

使用工具: python3.6 + pycharm + requests库 + re 库

目标情况

这次我们的目标网站,是ajax加载的数据,首先,打开网页后,直接用浏览器(火狐)自带的开发者工具,点击网络,然后下滑网页,点击xhr,找到json数据,可以看到大概有100条内容

里面有每一个视频的相关信息,我们只需要取出每一个视频的url即可!然后在去看看详情页的情况

非常简单的就找到了视频的真实地址!复制地址重新打开一个网页去验证一下,确认地址无误,那么就去源代码中看看,该地址是否存在吧

很明显,这个网站并不是静态的网站,而且数据应该存放在js文件中,那么我们怎么得到它呢~?需要分析js文件还是用selenium呢?不要着急,偶然的情况下,发现了这个

有没有发现,在url中的关键字,是存在于网页源代码中的,虽然不是完全一样,但是我们可以和前面的那个标签中内容,对比下

可以判定,这里的值就是网页渲染后出现在html标签中的值,而且在源代码中它存在2个不同格式的视频地址!,这就很简单了,我们来写代码吧!

代码实现

简单写了一下,直接用requests请求内容,然后用re匹配,取出目标url

类似网站

其实还有一个网站和这种情况很像,那就是秒拍视频,但是如果你想看更多的视频的话,还是需要打开客户端,所以我们就简单的以一个视频为例,抓出它的真实地址!具体过程就不一一说明了,就直接看结果吧,先看目标网页

用关键字在源代码中查找

最终代码

验证结果

上述文章如有错误欢迎在留言区指出,如果这篇文章对你有用,点个赞,转个发如何?

原文发布于微信公众号 - 云飞学python(P542110741)

原文发表时间:2018-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Node.js构建API网关

当微服务架构中的服务被外部的客户端访问时,可以共享有关身份验证和传输的一些常见请求。API网关提供了一个共享层去处理服务协议之间的差异,同时满足特定客户端(像P...

46190
来自专栏大葡萄元元

开发一款app从PHP到API接口

答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发。(别去纠结 GTK、WinBinder)

58310
来自专栏蓝鸟资源分享网

什么是服务器,服务器与普通电脑有什么区别?

许多人错误地认为服务器与典型的台式计算机没有区别。尽管计算机具有与服务器相似的处理器速度,内存和存储容量,只要满足任何最低硬件要求的计算机都可以运行服务器操作系...

57630
来自专栏小巫技术博客

App更新策略课程完结篇

13430
来自专栏ImportSource

MongoDB支持ACID了!

一个重磅消息,MongoDB支持ACID事务了。这也是社区里一直呼吁的事情,这一目标终于要实现了。这里的ACID事务是针对多文档间的事务,multi-docum...

390100
来自专栏安恒网络空间安全讲武堂

重要 | Apache Tomcat绕过漏洞预警

安全漏洞 2018年2月23日,Apache发布了Tomcat存在2个安全限制绕过漏洞的安全公告: http://tomcat.apache.org/secur...

59870
来自专栏吉浦迅科技

【问题笔记】由乱码引起的“惨案”

问题笔记 办法总比问题多 整理记录最真实的客户在GPU编程中遇到的问题 及我们的解决办法   一大早一个妹子在QQ上说安装了最新的PGI加速编译器和正版授权后,...

37660
来自专栏后端技术探索

京东618备战技术分享:保障秒杀系统高并发与高性能的11个方法

nginx采用master加多个worker进程,master只负责接收外界信号和监控work进程运行状况,当发现某个work进程出现异常,master进程会启...

11020
来自专栏主机笔记

windows主机安装酷Q机器人自动管理QQ群组

经常在许多的群里都有一个在线的QQ群管机器人,可以起到提示、管理、监控等作用,让群主的省去很多麻烦的事情,其实这个要实现并不是什么难事,已经有人把应用都做好了,...

88290
来自专栏杨建荣的学习笔记

运维平台中的脚本管理

截止目前,元数据的工作完成了一些阶段性的内容,当然还有非常多的需要细化的东西,从优先级层面来说,可以暂时放一放。 现在迫切需要的是一些能用起来的功能,比如结合业...

54550

扫码关注云+社区

领取腾讯云代金券