Java HTML 解析(存储为字符串)
Java HTML parsing (storing as String)
我正在解析一个网页,但我遇到了一些问题,该页面包含很多这样的元素:
<div class="tweet">
<a href="https://twitter.com/Sweden" target="_blank" class="tweet__link">@sweden</a>
<span class="tweet__timestamp"><a href="https://twitter.com/sweden/status/694285861026926594" target="_blank" class="tweet__permalink">Feb. 1, 2016, 11:27 p.m.</a></span>
<p class="tweet__content"><a href='http://twitter.com/UnbatedFlunky' target='_blank'>@UnbatedFlunky</a> Good to know. :)</p>
</div>
<div class="tweet">
<a href="https://twitter.com/Sweden" target="_blank" class="tweet__link">@sweden</a>
<span class="tweet__timestamp"><a href="https://twitter.com/sweden/status/694285696140513280" target="_blank" class="tweet__permalink">Feb. 1, 2016, 11:26 p.m.</a></span>
<p class="tweet__content">RT <a href='http://twitter.com/UnbatedFlunky' target='_blank'>@UnbatedFlunky</a>: .<a href='http://twitter.com/sweden' target='_blank'>@sweden</a> exactly the kind of content I'd want representing my country. 10/10</p>
</div>
我想将每条推文中的内容 class 放在单独的字符串中,目前我有以下代码:
Document doc = Jsoup.connect("http://curatorsofsweden.com/curator/aleksandra-boscanin/").get();
Element e = doc.select("div").first();
String text = doc.getElementsByClass("tweet").text();
但通过这种方式,我将所有内容存储在一个字符串中,但我的问题是如何将它们分开放置,例如让我们说字符串数组:/也许这是一个愚蠢的问题,但我无法让它工作:/
doc.getElementsByClass("tweet")
returns 一个数组,您应该对其进行迭代并为每个 tweet
元素创建一个数组条目。例如
List<String> stringList = new ArrayList<>();
List<Element> tweets = doc.getElementsByClass("tweet");
for(Element tweet : tweets){
stringList.add(tweet.text());
}
文本将在 stringList
列表中。
我正在解析一个网页,但我遇到了一些问题,该页面包含很多这样的元素:
<div class="tweet">
<a href="https://twitter.com/Sweden" target="_blank" class="tweet__link">@sweden</a>
<span class="tweet__timestamp"><a href="https://twitter.com/sweden/status/694285861026926594" target="_blank" class="tweet__permalink">Feb. 1, 2016, 11:27 p.m.</a></span>
<p class="tweet__content"><a href='http://twitter.com/UnbatedFlunky' target='_blank'>@UnbatedFlunky</a> Good to know. :)</p>
</div>
<div class="tweet">
<a href="https://twitter.com/Sweden" target="_blank" class="tweet__link">@sweden</a>
<span class="tweet__timestamp"><a href="https://twitter.com/sweden/status/694285696140513280" target="_blank" class="tweet__permalink">Feb. 1, 2016, 11:26 p.m.</a></span>
<p class="tweet__content">RT <a href='http://twitter.com/UnbatedFlunky' target='_blank'>@UnbatedFlunky</a>: .<a href='http://twitter.com/sweden' target='_blank'>@sweden</a> exactly the kind of content I'd want representing my country. 10/10</p>
</div>
我想将每条推文中的内容 class 放在单独的字符串中,目前我有以下代码:
Document doc = Jsoup.connect("http://curatorsofsweden.com/curator/aleksandra-boscanin/").get();
Element e = doc.select("div").first();
String text = doc.getElementsByClass("tweet").text();
但通过这种方式,我将所有内容存储在一个字符串中,但我的问题是如何将它们分开放置,例如让我们说字符串数组:/也许这是一个愚蠢的问题,但我无法让它工作:/
doc.getElementsByClass("tweet")
returns 一个数组,您应该对其进行迭代并为每个 tweet
元素创建一个数组条目。例如
List<String> stringList = new ArrayList<>();
List<Element> tweets = doc.getElementsByClass("tweet");
for(Element tweet : tweets){
stringList.add(tweet.text());
}
文本将在 stringList
列表中。