文章采集完(网页元素与网页源代码的区别(x4)分析(x4) )

优采云 发布时间: 2021-11-21 16:09

  文章采集完(网页元素与网页源代码的区别(x4)分析(x4)

)

  内容

  前言

  分析 (x0)

  分析 (x1)

  分析 (x2)

  分析 (x3)

  分析 (x4)

  总结

  我有话要说

  前言

  大家好,我叫山年,这是我的第三篇技术博文。这次是音乐、小说、视频,也许下次是图片。

  文章 我是在同一天写的,我自己从来没有做过。

  我们要去采集的网站是网页版的DY数据:目标网址

  给采集随便选一个博主的视频吧,饿了就找美食博主。

  

  ​

  分析 (x0)

  在网页元素中,我们可以找到当前视频的跳转链接:

  

  经过我的观察,我发现每个li标签都收录一个短视频信息:

  

  ?

  所以一共有13个li标签,我们的博主应该已经发布了13个以上的视频吧?不是我这种东西只有几十个粉丝,有什么问题?

  我已经猜到这是一个瀑布模式加载视频,我给你解释一下。比如你在一个网页上只能看到十个数据,当你拉动网页的滑动条时,它会自动加载一些新的数据。数据像瀑布一样流出。原理很简单,就是当你拉动滑块时,它会触发一个JavaScript脚本来生成一些新的数据。

  让我们做一个测试:

  

  当我拉动浏览器的滚动条时,数据显着增加并改变了网页上的元素。

  这里我再解释一下,网页元素和网页源码的区别:

  网页元素:浏览器执行一些JavaScript渲染后的渲染(所以它会改变)

  网页源代码:服务器发送给我们浏览器的原创数据(浏览器渲染后变成网页元素),所以原创数据不会改变。

  那么瀑布流的优势是什么?明明是为了减少服务器的负载?用户可以传输任意数量的数据,而不是在一个大脑中加载所有数据!

  分析 (x1)

  换句话说,我们根本不需要考虑网页的源代码(因为它是不可变的)。据了解,该网页的视频是通过拉动浏览器滑块执行JavaScript脚本,然后通过接口传输数据给我们造成的。

  首先我们可以观察到,每个视频后面的一串数字就是视频对应的ID值,前面肯定是不变的。

  

  ​

  我们直接抓包:

  

  ​

  根据瀑布流定律,这个包很容易被抓到,因为每次滑动下拉条,都会生成这样一个新包

  

  ​

  确实这个值对应,但是别忘了看上图中圈起来的_signature参数,传说中的DY签名加密。其他值是固定值是一些电脑信息,浏览器版本。只有这个 _signature 是加密的。您可以通过手动拉动滑杆并多抓取几个数据包来进行比较。

  分析 (x2)

  好吧,很多人认为我会解密这个参数,但是新版本的DY加密很混乱,即使我能教你,我也可能学不来,所以我决定回去用另一种方法。

  我们当时分析,只要拉动滑块,网页元素中就会加载新的视频数据,并且会出现更多的li标签。

  那我们就可以用selenium来模拟人拉滑杆了吧?然后采集进入视频的跳转链接,访问请求,问题解决!

  但是获取视频跳转链接有什么用呢?

  分析 (x3)

  我们先点开视频看看:

  

  ​

  视频的源地址我一下子就抓到了,但是这个地址根本没有规律……但是听了我上次告诉你的音乐之后,你应该知道如何分析它了。, 先试着把一些参数删了这么久,看看还能不能正常访问。最短且可访问的链接是我在红框中的链接。

  然后……还是找不到规则,不知道怎么生成,发现这个包之前只是一个图片包。

  分析 (x4)

  继续查看网页元素中是否有我们的视频源地址:

  

  ​

  果然有emmm,希望现在源码里也有,因为之前采集跳转链接我用的是selenium,降低了采集的速度。如果这里还是用selenium的话,速度会太慢。.

  

  ​

  什么都没找到……按道理,我之前抓了包,里面没有JavaScript文件。那只是一包图片。没有理由不存在于网页的源代码中。我搜索了一下并尝试了:

  

  ​

  说实话,这是我第一次自己做。我正在写作和研究。纯属实战。我刚刚在这个东西上看到了它,它编码了url,所以它似乎伤害了我们的眼睛。

  

  ​

  好吧,我们只需要采集 来缩短到最短的链接。

  转码给大家看:

  

  ​

  我们只需要红色框中的那些。

  那么现在,所有的流程创意都完成了吗?

  首先使用selenium采集去重定向的url,然后使用requests模块请求重定向的url,获取视频源地址,最后请求源地址下载。

  总结

  这只是采集一个博主的视频,那么整个网站采集的视频可以吗?我分析了一下,发现原理是一模一样的……有可能!

  我有话要说

  您在寻找源代码吗?很遗憾我是第一次这样做。写完文章,终于分析完了,我自己也没有源码。

  ——纸上谈兵总是肤浅的,我绝对知道我必须亲自去做。

  如果这个分析还是让一些朋友觉得困难,那我给你看一个我之前提到的完美采集某宝的案例,selenium部分非常适合(在我主页的联系我中),要求我赢了不谈部分,完全没有技术含量,就两个要求。

  文章的字现在就写好了,每一个文章都会写的很详细,所以需要很长时间,一般两个多小时。

  原创不容易,再次感谢大家的支持。

  ①2000多本Python电子书(主流经典书籍应有)

  ②Python标准库资料(最全中文版)

  ③项目源码(四十或五十个有趣经典的动手项目和源码)

  ④Python基础、爬虫、Web开发、大数据分析视频(适合小白学习)

  ⑤ Python 学习路线图(告别未受影响的学习)

  ```

当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢?

学习Python中有不明白推荐加入交流Q群号:928946953

群里有志同道合的小伙伴,互帮互助, 群里有不错的视频学习教程和PDF!

还有大牛解答!

```

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线