抓取网页视频(如果爬取大多数的网页视频网站是怎么对付客户端的)

优采云 发布时间: 2021-10-24 22:02

  抓取网页视频(如果爬取大多数的网页视频网站是怎么对付客户端的)

  抓取网页视频其实很容易的,不需要java,也不需要python。但是网页视频的内容总量比较大,尤其是网页视频从ppt转变成网页播放的这个过程,内容差距会很大。也就是,大部分用python爬取的视频网站的开发都倾向于直接用ab站这种解析原网页的网站服务器加速下载。那么,如果爬取大多数的网页视频网站呢?需要开发比较复杂的服务器视频编码和下载的编码手段。

  当然,如果服务器端有自己的解析方案,也可以去搞定这事,搞定没问题,但是网页上的视频都是文件压缩以后再加载的,压缩一次就十几m甚至几十m到上百m,都是可以想象的。而且网页视频之间是互相存在上传和下载需求的,解析网页视频耗时巨大。所以对于视频的抓取,需要一个通用的解析器,能够快速解析各种视频的原视频文件格式。

  首先,需要弄清楚http协议,它是一个协议,来为其请求提供实际上就是请求参数的分析和转换。然后再搞清楚http头部,如头部信息常见的是请求行(requestheader)和请求头(proxyheader),这些http头部看似简单,其实含有重要的信息,主要包括:请求行(requestheader):请求成功后服务器回传给客户端的消息图片是服务器和客户端的方式客户端要访问服务器是传什么,客户端的网站上是否有相应的内容这个要记住就行了。

  请求头:请求头部是从服务器获取的封装完毕才会传给客户端。先对明文传过来的一个,服务器怎么对付客户端的一堆乱七八糟参数,请求头里也会给客户端解释。重要信息是有效的。但是很多时候,后面这个请求头没法解释客户端给服务器发送的内容。客户端在处理服务器发过来的重要内容的时候,还需要再解释下:http协议中,服务器用\r\n请求头表示以上内容请求报文头部无法解释,可以通过“本地文件”也就是客户端将http协议请求报文头部抽出,写到磁盘上的某个文件中,然后在客户端接收之后解析。

  视频的一般一个http请求能够看到多个请求,有时候也会一个请求解析多个视频。除了类似playlist下载的几种,还有普通的youtube用户点播视频的方式。这种情况一般需要手动对客户端解析,并且,处理后的报文头部需要留给服务器。手动解析一个普通视频,视频本身比较小,也比较占内存,解析成本太高。这时候需要用第三方来做,推荐下python、selenium、webdriver这种能编写网页应用程序的框架。

  比如,我写的一个很简单的脚本,用于对这个视频playlist的下载,就可以完成操作。具体可以在wx小程序(千聊直播)和知乎(知乎live)中查看。因为我不是很熟练,要熟练也不是一件简单。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线