求 htmlunit + jsoup 获取网页信息实例 包括htnlunit获取js里的内容
1条回答
关注 该回复引自免费微信小程序-皆我百晓生:
下面是一个使用HtmlUnit和Jsoup获取网页信息的示例:
import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlPage; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class HtmlUnitJsoupExample { public static void main(String[] args) { try (WebClient webClient = new WebClient()) { // 启用JavaScript webClient.getOptions().setJavaScriptEnabled(true); // 获取网页内容 HtmlPage page = webClient.getPage("http://example.com"); // 将HtmlPage转换为Jsoup的Document对象 Document doc = Jsoup.parse(page.asXml()); // 使用Jsoup提取网页信息 Element titleElement = doc.selectFirst("title"); String title = titleElement.text(); System.out.println("Title: " + title); Elements links = doc.select("a[href]"); for (Element link : links) { String href = link.attr("href"); String text = link.text(); System.out.println("Link: " + text + " (" + href + ")"); } // 使用HtmlUnit执行JavaScript并获取结果 String jsCode = "document.getElementById('elementId').innerHTML"; Object result = page.executeJavaScript(jsCode).getJavaScriptResult(); System.out.println("JavaScript Result: " + result); } catch (Exception e) { e.printStackTrace(); } } }
上述示例中,首先创建一个WebClient对象,并启用JavaScript。然后使用WebClient的getPage方法获取网页内容,并将HtmlPage对象转换为Jsoup的Document对象。接下来,可以使用Jsoup提供的方法来提取网页信息,例如获取标题和链接。最后,可以使用HtmlUnit的executeJavaScript方法执行JavaScript代码,并获取执行结果。
请注意,你需要将HtmlUnit和Jsoup的相关库添加到项目的依赖中。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
- ¥15 C# datagridview 单元格显示进度及值
- ¥15 thinkphp6配合social login单点登录问题
- ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配