首先明确我指的动态数据是什么。

名词定义:动态数据在这里指的是网页中由Javascript动态生成的页面内容,即网页源文件中没有,在页面加载到浏览器后动态生成的。

下面进入正题。

抓取静态页面很简单,通过Java获取到html源码,然后分析源码即可得到想要的信息。如获取中国天气网中杭州的天气,只需要找到对应的html页面( http://www.weather.com.cn/weather/101210101.shtml)。

假设我需要输入城市名称获取改城市的天气,数据源还是采用中国天气网。首先要做的是根据城市找到对应的页面。通过简单分析发现,城市与页面的URL有对应,如杭州对应101210101,所以程序的关键就是找到城市与页面的对应关系。

发现该网站的搜索框有中国大多数城市的链接,可以得到城市与_id的对应关系。找到突破口,开始行动。进入首页,查看其源代码,找到搜索框所在位置。

原来数据是通过Javascript动态加进去的,用Chrome的inspect element看到以下内容。

目前可以做的是利用Chrome将html复制到文件,然后解析该文件得到城市与URL的关系。问题是万一网站的城市与URL对应关系有变化,这就很被动还需改程序.

java行程单解析获取内容_java如何抓取网页上的动态信息,获取源代码后如何分析JS?...相关推荐

  1. Python抓取网页中的动态序列化数据

    Python抓取网页中的动态序列化数据 动态序列化数据经常应用于前后端分离的页面.或者通过VUE.JS等HTML页面环境,常规的爬虫抓取方法并不能满足数据采集的要求,因此需要其他的方式进行数据的采集. ...

  2. 抓取网页上的图片(一)

    抓取网页上的图片 思路:网页(HTML)中的图片通常在img标签中,图片的链接通常在标签的src属性中,通过BeautifulSoup解析HTML,找到所有的img标签,获取每一个标签中的src的属性 ...

  3. python抓取网站图片_python抓取图片示例 python抓取网页上图片

    python抓取网页上图片 这个错误时是什么意思 下面是代码 import re import urllib.request imp正则表达式匹配的url有错误 for x in add: print ...

  4. 用curl+PHP抓取网页上所需要的数据

    最近使用后台的时候老是发现有些信息没法导出,又不想一个个复制很麻烦,想起以前做的一个小功能,用来抓取网页上的可用数据填充自己的数据库,由于网站需要登录才能访问,所以加上了curl的模拟登录 <? ...

  5. java爬虫抓取网页数据论坛_Java爬虫抓取网页

    Java爬虫抓取网页原作者:hebedich  原文链接 下面直接贴代码: import java.io.BufferedReader; import java.io.InputStreamReade ...

  6. php正则获取li,用正则表达式抓取网页中的ul 和 li标签中最终的值!

    获取你要抓取的页面 const string URL = "http://www.hn3ddf.gov.cn/price/GetList.html?pageno=1";       ...

  7. python实现抓取网页上的内容并发送到邮箱

    要达到的目的: 从特定网页中抓取信息,排版后发送到邮箱中 关键点: 下载网页,从网页里抓取出需要的信息 HTML排版 发送到指定邮箱 实现: 1.python下载网页 直接用库函数就可以实现 from ...

  8. python抓取网页信息_python抓取网页中的动态数据

    一.概念 网页中的许多数据并不是写死在HTML中的,而是通过js动态载入的.所以也就引出了什么是动态数据的概念,动态数据在这里指的是网页中由Javascript动态生成的页面内容,是在页面加载到浏览器 ...

  9. stata抓取html,(5)详解 stata 爬虫抓取网页上的数据 part 1

    *案例:抓取 http://www.tjcn.org 中国统计信息网上前50页(每页包含20个市的数据)的1000个地区的GDP数据.使用stata版本为 stata13,与12版本和14版本都不兼容 ...

最新文章

  1. spring注解--@Bean
  2. ASP.net中的几种分页方法
  3. LINQ系列:Linq to Object分区操作符
  4. 【API知识】ElementUI一些问题的解决方案
  5. 经济寒冬?毕业生找不到好工作?来看看这个。
  6. iOS 动画绘制线条颜色渐变的折线图
  7. Vue学习笔记01:准备开发与调试环境
  8. 使用Blend开发Silverlight VSM
  9. Java实现简单的计算器
  10. [NLP]OpenNLP标记器的使用
  11. Storm实战常见问题及解决方案
  12. Google Chrome浏览器离线安装包下载方法
  13. 使用RTX51 Tiny系统给串口发送——显示时间
  14. 计算机版本过低怎么办,浏览器版本过低嗡嗡叫怎么办_电脑显示浏览器版本过低嗡嗡叫如何处理-win7之家...
  15. AutoLeaders控制组——51单片机学习笔记(AD/DA、红外遥控)
  16. C语言程序设计教程蒋清明,C语言程序设计教程(第2版)
  17. CSS如何写出圆圈1(详细)
  18. 排球-五一跑位(转)
  19. 学习lua第一步-lua解释器luac.exe
  20. 设计模式无招胜有招之设计目的

热门文章

  1. Vue——05-02组件的数据、为什么data要使用函数、父组件给子组件传递数据的三种写法、父传子以及传两种以上的值、默认值以及父传子的引用类型
  2. Oracle中同义词synonym的作用
  3. php 当地天气预报,PHP调用全国天气预报数据接口查询天气示例
  4. SAP 使用ABNAN后资本化和价值补录
  5. RSA的运用和前后端签名的一些看法
  6. 基于凹凸实验室的个人前端项目规范!(值得一看)
  7. OWASP TOP 10(六)反序列化漏洞(序列化和反序列化、漏洞原理、PHP中的序列化和反序列化、魔术方法、Typecho_v1.0中的反序列化漏洞)
  8. 幻读(phantom read)详解
  9. 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.12 文本、图片
  10. 用自己的数据集进行遥感图像分类---------u-net改进版dlinknet