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语言获取网页标签中的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)