jsoup怎么解析javascript动态改变html标签的属性值

jsoup怎么解析javascript动态改变html标签的属性值,第1张

jsoup可以解析出 js 的文件名,至于 js 文件里的内容,可以用程序下载能得到的,但这不是 jsoup 干的事。

参考实例如下:

Elements els = docselect("script");

for(Element el: els) {

//提取src信息

String src = elattr("src");

//得到js的地址了,就可以下载了。比如外部css样式表也可以类似的方式取出来

}

获取所有双色球数据,但是返回的都是html页面,需要进行处理,最开始想着用dom4j处理,发现不可行。之后想着自己处理,但是又太麻烦了,然后找到了jsoup,使用起来非常简单。

*** 作、解析HTML格式的数据

jsoup的使用和dom4j非常类似,最开始都是先获得一个Document对象,然后获取需要的子元素或节点进行 *** 作,但是jsoup可以通过dom、css、和类似jquery的方法( 选择器 )来获取需要的数据。

选择器官方API

其他方法详见官方API

Node

Element

Elements

Whitelist官方API

新浪的那个天气的值是通过js动态加载的,原始html页面是<div id="SI_Weather_Wrap" class="now-wea-wrap clearfix"></div> 。

而jsoup只是对html进行解析,所以是找不到js动态生成的哪些信息的。

使用Jsoup解析html中的指定数据,十分方便。Jsoup工具十分强大,十分好用。但网上似乎没有很好的例子,本文的目的即在于此。建议仔细阅读代码中的几个例子,Jsoup解析数据不外乎这几种类型。

第一步:将Jsoup JAR包导入项目

第二步:使用Jsoup API

1, 定位

通过div的属性值,定位到html的div(块),即所需要内容对应的块。

示例代码如下:

<div class="content">

2, 筛选数据

a, 通过标签头,在div中继续筛选数据。可能会找到很多的数据,这里会用到循环。见eg1。

//eg1:解析百度音乐 Document doc = Jsoupconnect(">

jsoup(>

这是开发者工具解析到的一个论坛页面结构。。

可以看到每一个a标签和br标签之间总会夹着一个text,,也就是密码文本。而我根据网上的

API教程:

siblingA ~ siblingX: 查找A元素之前的同级X元素,比如:h1 ~ p

写成这样

Elements links_1 = tdsmselect("#postmessage_24532691>br~text");

然后打印_links_1size为0也就是并没有匹配到一个元素

特此求正确写法

1、用找的标签调用一下text()这个方法就可以得到两个标签之间的内容了

2、Element对象的textNodes()或ownText()方法。

其实你这个问题说简单也简单,说麻烦也麻烦,首先拼真实的url时,它是通过一个js方法实现的,只要用java代码模拟这个过程就OK了。

麻烦的是你这个URL中含有中文 ,传入时会乱码,导致查询结果为空。

不知道,我说的对不对,我们可以讨论一下。

以上就是关于jsoup怎么解析javascript动态改变html标签的属性值全部的内容,包括:jsoup怎么解析javascript动态改变html标签的属性值、jsoup 的使用、java语言获取网页标签中的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9483159.html

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

发表评论

登录后才能评论

评论列表(0条)

保存