J-汤。从网站检索文本

时间:2014-06-28 15:55:17

标签: java parsing web jsoup

我目前正在玩JSoup(http://jsoup.org)并且有点陷入困境。解析页面并获取我可能需要的任何链接没有问题,但我现在正试图从网页上获取文本。

E.g

 <div class="mod-job-details" itemscope itemtype="http://schema.org/JobPosting">
        <strong itemprop="datePosted">Today, 11:11pm</strong>
         <ul>
             <li itemprop="jobLocation" itemscope itemtype="http://schema.org/Place">
           <label>Location:</label>
              <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress" data-automation="apply_text_location">
            <span itemprop="addressLocality" data-automation="apply_text_location_area">XXXX</span> 

        <span itemprop="addressRegion" data-automation="apply_text_location_suburb"><span class="mod-arrow state-arrow-right">       </span> XXXX</span>
        </div>
    </li>

    <li>
        <label>Work type:</label> 
        <div itemprop="employmentType">XXXXXX</div>
    </li>

我正试图拥有&#34; XXXXX&#34;找到并保存为字符串。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您可以使用text()ownText()方法获取Element的文字。 text()方法包括元素内的所有文本(包括其子元素),而ownText()仅提供元素本身的文本(不包括子元素)。

因此,您只需选择包含所需文字的元素,然后根据需要获取text()ownText()。在您的示例中(在try.jsoup.org上查看):

String a = doc.select("span[itemprop=addressLocality]").first().ownText();
String b = doc.select("span[itemprop=addressRegion]").first().ownText();
String c = doc.select("div[itemprop=employmentType]").first().ownText();

(如果页面中有多个此类元素,请迭代select的结果,而不是立即调用first()。)