所以,我正在使用Jsoup进行网络爬虫。我可以从网站上抓取数据,但问题是我得到的链接和文本是分开的。我想将这些链接设置在我的文本中。我正在使用SpannableStringBuilder,所以有很多链接和很多文本,所以我不知道该如何解决这个问题,因为我是Android开发新手。
private void getWebsite() {
new Thread(new Runnable() {
@Override
public void run() {
final SpannableStringBuilder
builder = new SpannableStringBuilder();
try {
Document doc = Jsoup.
connect("https://www.wikipedia.org/").get();
String title = doc.title();
Elements links = doc.select("a[href]");
builder.append(title).append("\n");
for (Element link : links) {
final String url = link.attr("href");
builder.append("\n")
.append("Link: ")
.append(url, new URLSpan(url),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
.append("\n")
.append("Text: ")
.append(link.text());
}
} catch (IOException e) {
builder.append("Error : ")
.append(e.getMessage()).append("\n");
}
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(builder.toString());
textView.setMovementMethod
(LinkMovementMethod.getInstance());
}
});
}
}).start();}
我得到的输出格式如下:
链接://en.wikipedia.org/
文本:英语5,678,000+篇文章
链接://ja.wikipedia.org/
文本:日语1,112,000+篇文章
链接://es.wikipedia.org/
文本:西班牙语1,430,000+篇文章 ...... ......
我想要的输出格式如下:
**文本:English 5 678 000+ articles**,在该行中,我想要将此链接 **链接://en.wikipedia.org/** 作为超链接或以某种方式连接起来,以便我可以单击此文本并直接转到网页,就像在MS Word中一样。