这是我试图解析的html:
<div class="entry">
<img src="http://www.example.com/image.jpg" alt="Image Title">
<p>Here is some text</p>
<p>Here is some more text</p>
</div>
我想得到中的文本
Document doc = Jsoup.parse(line);
Elements descs = doc.getElementsByClass("entry");
for (Element desc : descs) {
String text = desc.getElementsByTag("p").first().text();
myArrayList.add(text);
}
但这根本不起作用。我对Jsoup很陌生,但它似乎有其局限性。如果我能在
我正在使用一个
BufferedReader
一次一行地读取html文件。
在您的for
-循环中:
Elements ps = desc.select("p");
(http://jsoup.org/apidocs/org/jsoup/nodes/Element.html#select(java.lang.弦))
不确定为什么要逐行阅读html。但是,如果要阅读整个html,请使用以下代码:
String line = "<div class=\"entry\">" +
"<img src=\"http://www.example.com/image.jpg\" alt=\"Image Title\">" +
"<p>Here is some text</p>" +
"<p>Here is some more text</p>" +
"</div>";
Document doc = Jsoup.parse(line);
Elements descs = doc.getElementsByClass("entry");
List<String> myArrayList = new ArrayList<String>();
for (Element desc : descs) {
Elements paragraphs = desc.getElementsByTag("p");
for (Element paragraph : paragraphs) {
myArrayList.add(paragraph.text());
}
}
您可以将您的方法更改为以下内容:
Document doc = Jsoup.parse(line);
Elements pElems = doc.select("div.entry > p");
for (Element pElem : pElems) {
myArrayList.add(pElem.data());
}
我试图从这些div标签中获取文本,但是它们都不返回任何内容: HTML: 我想得到div类“消息”和h4标记和跨越“日期时间”中的文本,我试图: 和: 但是他们没有成功。
我试图从这个表中解析数据。例如,假设我想解析第二行中的第二个元素(称为SLO)。 我可以看到TR里面有一个TR,而SLO这个词甚至没有ID或任何东西。我如何解析这个? 这是代码: 我不知道在文档中放什么。选择(“”);因为我从未解析过这样的东西。我只解析过网页标题之类的东西。有人能帮我吗?
给定此网页: 我试图选择div内部的第一个span,然后获取强值。到目前为止,我成功地收集了其他东西,但是我无法完成:
问题内容: 我无法使用Jsoup库从此处获取div 。 这是我的代码: 问题答案: 此标记中的文本不是初始html的一部分,而是在页面加载后由JavaScript设置的。您可以通过在浏览器中禁用JavaScript进行检查。Jsoup仅获取静态html,不执行JavaScript代码。 当您检查从页面建立的连接时,您会发现该值是通过对此API的请求进行更新的: https://shapeshift
我是jsoup的新手,在使用非HTML元素(脚本)时遇到了一些困难。我有以下HTML: 用于显示这一点的应用程序知道如何处理 和.语句。因此,当我简单地用jsoup解析文本时,<和>被编码,html被重新组织,所以它不能正确地执行或显示。例如: 我的最终目标是添加一些css和js包含,并修改几个元素属性。那真的不是问题,我已经解决了那么多了。问题是我不知道如何保留非HTML元素,并将格式与原始格式
我想解析出这个Nasa页面上的描述,页面底部的文字 我该怎么做?