动态网页抓取(如何用Java获取Javascript动态生成的html内容?(图))

优采云 发布时间: 2022-01-22 09:07

  动态网页抓取(如何用Java获取Javascript动态生成的html内容?(图))

  首先明确我所说的动态数据是什么意思。

  术语定义:这里的动态数据是指网页中通过Javascript动态生成的页面内容,即不在网页的源文件中,而是在页面加载到浏览器后动态生成的。

  输入下面的主题。

  抓取一个静态页面非常简单,通过Java获取html源代码,然后分析源代码得到想要的信息。比如要在中国天气网获取杭州的天气,只需要找到对应的html页面()即可。

  假设我需要输入城市名称来获取变更后城市的天气,而数据源仍然来自中国天气网。首先要做的是根据城市找到对应的页面。通过简单分析,发现城市对应页面的URL,比如杭州对应101210101,所以程序的关键是找到城市和页面的对应关系。

  发现网站的搜索框有国内大部分城市的链接,可以得到city和_id的对应关系。找到突破口并开始采取行动。进入首页,查看其源码,找到搜索框的位置。

  (图1捕获_1.JPG)

  原来数据是通过Javascript动态添加的,通过Chrome的inspect元素可以看到如下内容。

  (图2捕获_2.JPG)

  现在可以做的就是用Chrome将html复制到一个文件中,然后解析该文件得到城市和URL的关系。问题是如果城市和网站的URL的对应关系发生变化,很被动,需要改程序。

  现在的问题是如何获取Java中Javascript动态生成的html内容。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线