如何抓取网页中的动态数据

如何抓取网页中的动态数据,第1张

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

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

下面进入正题。

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

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

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

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

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

现在的问题是如何用Java获取Javascript动态生成的html内容,不知大家有什么看法。

1、这个在数据库中存储img图片的地址,前台放置img服务器标签,后台读取数据库中的img图片地址赋值。

2、可以在后台进行html拼接,拼接出img标签,然后输出前台,使用Ajax,在后台写好获取数据库中img图片地址的方法。

3、前台,在页面加载时,base64码字符串传到前台转换即可展示图片:<imgsrc="data:image/jpgbase64,<%=base64Path%>"width="50%"height="50%"/>。

4、之后会再发一个带图片预览的用ajax存储图片的Demo。

5、读取时就是从数据库读取对应数据再转化成图片显示出来。

扩展资料

img元素向网页中嵌入一幅图像。

请注意,从技术上讲,<img>标签并不会在网页中插入图像,而是从网页上链接图像。<img>标签创建的是被引用图像的占位空间。

<img>标签有两个必需的属性:src属性和alt属性。

<img>标签的src属性是必需的。它的值是图像文件的URL,也就是引用该图像的文件的的绝对路径或相对路径。

为了整理文档的存储,创作者通常会把图像文件存放在一个单独的文件夹中,而且通常会将这些目录命名为"pics"或者"images"之类的名称。

在W3School在线教程中,我们的工程师把大部分常用的图像都存放到一个名为"i"的文件夹中,"i"是"images"的缩写,这样做的好处是可以最大程度地简化路径。

在HTML中,<img>标签没有结束标签。在XHTML中,<img>标签必须被正确地关闭。

在HTML4.01中,不推荐使用image元素的"align"、"border"、"hspace"以及"vspace"属性。

在XHTML1.0StrictDTD中,不支持image元素的"align"、"border"、"hspace"以及"vspace"属性。

静态网页,动态网页主要根据网页制作的语言来区分:

静态网页使用语言:HTML(超文本标记语言)它的内容是固定的,不会根据浏览者的不同需求而改变。

动态网页使用语言:HTML+ASP 或 HTML+PHP 或 HTML+JSP 等。动态网页是与静态网页相对应的,也就是说,网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——“?”。

我们将动态网页的一般特点简要归纳如下:

(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;

(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;

(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;

(4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9791681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存