使用jsoup解析html网页时,如果一个标签<a href=“javascript:getSearch(10)">[2]<a>怎么解析到这个href

使用jsoup解析html网页时,如果一个标签<a href=“javascript:getSearch(10)">[2]<a>怎么解析到这个href,第1张

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

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

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

documentdocumentElement返回文档的根节点 documentactiveElement返回当前文档中被击活的标签节点 eventfromElement返回鼠标移出的源节点 eventtoElement返回鼠标移入的源节点 eventsrcElement返回激活事件的源节点

Element ele = docgetElementById("id");//当根据id取单个元素的时候

if(ele==null){

    Systemoutprintln("没有此元素")

}Elements eles = docgetElementsByClass("name");//当根据name之类,取多个元素的时候

if(elesisEmpty()){ //eles类似于集合,所以用isEmpty来判断

    Systemoutprintln("没有class为name的元素集合")

}

这段html实际上是不符合规范的。在用jsoup解析时会出现问题。

我想到一个办法解决这个问题。

首先我想你应该是想得到 标题、馆藏复本的数目、可借复本的数目、朱印宏编著和长江出版社。

所以我们先把上面html里面的文字全部得到即:

java开发解析 馆藏复本:3 可借复本:0 朱印宏编著 长江出版社

然后我想在这段文字中 “馆藏复本:”、“可借复本:”、“编著” 这几个字应该是固定不变的。所以我们可以用正则表达式去对它进行解析,得到你想要的文字。

代码如下:

public class Test {

public static void main(String[] args) {

String html = "<div class=\"list_books\" id=\"list_books\"><td>java开发解析</td><p><span><strong>馆藏复本:</strong>3 <br /> <strong>可借复本:</strong>0 </span>朱印宏编著 <br /> 长江出版社</p> </div>";

Document doc = Jsoupparse(html);

String e = docselect("#list_books")text()replaceAll("[\\s]+", "");

//Systemoutprintln(e);

Pattern p = Patterncompile("^()馆藏复本:([\\d]+)可借复本:([\\d]+)()编著()$");

Matcher m = pmatcher(e);

if(mfind()){

for(int i=1;i<=mgroupCount();i++){

Systemoutprintln(mgroup(i));

}

}

}

}

如果如下:

java开发解析

3

0

朱印宏

长江出版社

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

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

这几天正在研究。废话不多说,直接上代码,自己研究的,通过迭代抓取。pageList就是抓取的分页页面的全部链接地址 。

其中Document doc = NetUtilsgetDocument(url);是jsoup抓取页面的基本 *** 作。

public class HtmlAnalsysTest3 {

static String url = ">

以上就是关于使用jsoup解析html网页时,如果一个标签<a href=“javascript:getSearch(10)">[2]</a>怎么解析到这个href全部的内容,包括:使用jsoup解析html网页时,如果一个标签<a href=“javascript:getSearch(10)">[2]</a>怎么解析到这个href、jsoup怎么获取两个标签之间的text、jsoup解析html时,若没有查找到相关标签,Element元素的返回值如何判断为空等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9750819.html

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

发表评论

登录后才能评论

评论列表(0条)

保存