使用JSOUP提取内容

时间:2017-06-05 11:44:44

标签: android jsoup

我无法使用Jsoup提取网页内容。问题是 - 我得到的比我需要的多!这是网络内容的格式..

<td>
 <ul>
  <li>
       <b>
        Title
        </b>  
     contents     
        <p>
           <a href="www.somesite.com"><b>LinkText</b></a>
        </p>
  </li>
 </ul>
</td>

我正在尝试分别提取标题,内容和linkText .. 以LinkText为例并不难。我用这段代码来获取数据

String title = "";
Elements elements;
Document document = Jsoup.connect(url).get();
elements = document.select("td ul li p a");
for (Element e : elements) 
title += "\n" + e.text() + "\n\n";

当我尝试使用此代码获取内容时。

String content = "";
Elements elements;
Document document = Jsoup.connect(url).get();
elements = document.select("td ul li");
for (Element e : elements) 
content += "\n" + e.text() + "\n\n";

我得到了一切。 (标题,内容,LinkText)。出现这个问题的原因是因为所有这三个项目都在<li>内。因此它会在每个文本内部进行回溯。所以,我怎样才能将它们作为不同的字符串。我还想获得Link- www.www.somesite.com以及数据..

1 个答案:

答案 0 :(得分:4)

根据Jsoup文档,modalPresentationStyle方法获取所选元素的组合文本和所有其子项。

您应该使用的text()方法只能获取所选元素所拥有的文本。

回答您的第二个问题:获取ownText()代码的href属性:<a>

整件事应该如下:

element.attr("href")

请参阅: