动态网页抓取(如何抓取网页中的动态网页源码中特定的特定内容)

优采云 发布时间: 2022-03-01 23:14

  动态网页抓取(如何抓取网页中的动态网页源码中特定的特定内容)

  背景

  很多时候,很多人需要在网络上抓取一些特定的内容。

  但是,除了之前介绍的内容之外,您还想从某些静态网页中提取某些内容,例如:

  【教程】Python版爬网并从网页中提取需要的信息

  和

  【教程】C#版爬网并从网页中提取需要的信息

  另外,有些人会发现自己要抓取的网页内容不在网页的源代码中。

  所以,在这一点上,我不知道该怎么做。

  在这里,我们来解释一下如何爬取所谓的动态网页中的特定内容。

  必备知识

  在阅读本文之前,您需要具备相关的基础知识:

  1.爬取网页,模拟登录等相关逻辑

  不熟悉的可以参考:

  【组织】爬取网页、分析网页内容、模拟登录的逻辑/流程及注意事项网站

  2.学会使用工具,比如IE9的F12,爬取对应的网页执行流程

  不熟悉的可以参考:

  【教程】教你如何使用工具(IE9的F12)解析模拟登录内部逻辑流程网站(百度首页))

  3.对于一个普通的静态网页,如何提取想要的内容

  对此不熟悉的可以参考:

  (1)Python 版本:

  【教程】Python版爬网并从网页中提取需要的信息

  (2)C# 版本:

  【教程】C#版爬网并从网页中提取需要的信息

  什么是动态网页

  这里所谓的动态网页是相对于那些静态网页而言的。

  这里所说的静态网页是指通过浏览器查看网页源代码时,你看到的网页源代码中的内容与网页上显示的内容相对应。

  也就是说,当我想得到某个网页上显示的内容时,我可以通过查找网页的源代码找到对应的部分。

  动态网页,相反,如果要获取动态网页中的具体内容,直接查看网页源代码是找不到的。

  动态网页中的动态内容从何而来?

  所以,这里有一个问题:

  所谓动态网页中的动态内容从何而来?

  一般来说,它是通过其他方式生成或获取的。

  据我所知,有几个:

  由本地 Javascript 脚本生成

  如果你用IE9的F12来分析访问一个url的过程,你会发现很可能涉及到,

  在网页正常完整显示之前,这段时间会访问很多javascript脚本,简称js脚本或js。

  这些js脚本实现了很多动态的交互内容。

  其中,对于一些你想抓取的内容,有时候,这些js脚本是动态执行的,最后计算出来的。

  通过访问另一个url地址获得

  很多时候,有些内容是访问另一个url地址后返回的数据;

  如何获取我要抓取的动态内容

  其实对于如何爬取需要的动态内容,简单来说,有一个解决方案:

  根据你通过工具分析的结果,找到对应的数据并提取出来;

  不过这个数据有时候可以在分析结果的过程中直接提取出来,有时候可能是通过js计算出来的。

  想抓取数据,是js脚本生成的

  虽然最终的动态内容是由js脚本执行生成的,但是对于你要抓取的数据:

  想爬取数据是通过访问另一个url获取的

  如果你要抓取的对应内容是访问另一个url地址和返回的数据,那么很简单,你也需要访问这个url,然后获取对应的返回内容,从中提取你想要的数据。

  总结

  同一句话,不管你访问的内容是如何生成的,最后你还是可以用工具来分析对应的内容是如何从零开始生成的。

  然后用代码模拟这个过程,最后提取出你需要的内容;

  具体示例演示见:

  【教程】以网易博文的最新读者信息为例,教大家如何抓取动态网页的内容。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线