使用Python模拟腾讯第三方认证-篇3

809 查看

前面两篇演示了模拟腾讯第三方认证的过程,至此已经能够自由登录学院网站。下面就要开始探索如何写一个简单的爬虫,分析教程页面的视频信息,进而可以将自己感兴趣的教程进行本地或网络存储。

页面分析

页面分析主要使用F12开发者工具分析页面元素信息。

主页导航信息

这里从主页入手,打开学院的主页可以看到左边的导航信息,如下图:


导航信息


通过F12查看元素内容,大致如下:

<div class = "lesson-classfy-nav">
  <ul>
    <li>1</li>
    <li>2</li>
    ...
    <li>11</li>
  </ul>
</div>

具体分类分级就不是重点,主要是每一个li节点下的课程链接:
比如python课程分类:
<a cgid="23" href="http://www.jikexueyuan.com/course/python/">Python</a>
由此可以继续查看python分类所有课程。

分类课程

打开python分类课程页面,http://www.jikexueyuan.com/course/python, 页面如下:


python


可以看到左侧的导航没有变化,主要是右侧的课程项,分析HTML元素如下:


课程内容


在lession-box的div块内可以看到课程《python概述》的地址为:
http://www.jikexueyuan.com/course/2282.html

单个课程信息

我们继续打开《python概述》课程地址,


python概述


直到此才浏览到真正课程播放视频的页面,之前说过,学院播放使用的video-js实现的视频控制,视频地址可以从source项查询到,我们看播放器HTML内容:


视频内容


这里本来以为支持HTML5就可以在video块中看到视频地址,然而使用开发者工据查看源码并没有source节点。不过之前的工作并没有白费,因为上述使用的浏览器开发者工具查看的,而通过查看页面源码HTML文件,是可以看到source地址的。

然后,后面还可以继续查看第二节课程的页面。

总结

至此,整个视频页面分析流程就结束了,从主页导航到课程分类,然后到单个课程的单个章节。
只关心单个章节的视频下载,不是最终目的,最好能够连续访问并统计各个章节的视频信息,最终将采集视频地址与课程信息做成任务化的下载是真正的目的。

因时间有限,本篇还是先解释页面原理,下篇开始编码模拟嗅探页面信息。