gpt4 book ai didi

java - Jsoup:从一段javascript中解析html

转载 作者:行者123 更新时间:2023-12-02 06:55:50 24 4
gpt4 key购买 nike

你们中有人知道如何使用 Jsoup 从 javascript onmouseover 事件中获取 html 吗?这可能听起来很模糊,所以这是代码:

<table onmouseover="showHoverInfo('', '<a href="somelink"><b>sometext</b>/a><br /> Some other text <br /> <a href="some other link"><b>Some text</b></a>')"

事情还在继续。我想知道的是:如何使用 Jsoup 从 showHoverInfo() 方法中获取 html 代码?

感谢所有帮助。

最佳答案

您可以通过 .attr() 找到 onmouseover 属性然后对得到的字符串进行处理(下面的例子中我使用的是正则表达式)得到你想要的参数值:

import java.util.regex.*;
import org.jsoup.Jsoup;
import org.jsoup.nodes.*;

public class JSoupGetAttributeExample {
public static void main(String[] args) {
Document doc = Jsoup.parse("<html><body><div>example</div>" +
"<table id='myTable' onmouseover=\"showHoverInfo('', '<a href=\\\'somelink\\\'><b>sometext</b>/a><br /> Some other text <br /> <a href=\\\'some other link\\\'><b>Some text</b></a>')\" >" +
" <tr>" +
" <td>"+
" </td>"+
" </tr>" +
"</table>" +
"</body></html>");
Element myTable = doc.getElementById("myTable");
String onmouseover = myTable.attr("onmouseover");
System.out.println("onmouseover ATTRIBUTE: "+onmouseover);

/* String processing to get the HTML (second) parameter */
String secondParameter = null;
Pattern p = Pattern.compile("showHoverInfo\\('.*', '(.*?)'\\)");
Matcher m = p.matcher(onmouseover);
if (m.find()) {
secondParameter = m.group(1);
}
System.out.println("\nHTML PARAMETER: "+secondParameter);
}
}

输出:

onmouseover ATTRIBUTE: showHoverInfo('', '<a href=\'somelink\'><b>sometext</b>/a><br /> Some other text <br /> <a href=\'some other link\'><b>Some text</b></a>')

HTML PARAMETER: <a href=\'somelink\'><b>sometext</b>/a><br /> Some other text <br /> <a href=\'some other link\'><b>Some text</b></a>

关于java - Jsoup:从一段javascript中解析html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17377655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com