如何使用jSoup从一个html类中获取一个“a href”

时间:2015-04-20 11:40:19

标签: java html jsoup href extract

我必须将HTML中的所有文本元素提取到Java字符串中。但是在单独的字符串中。

我有以下代码:

<div class="sb-spieldaten">
    <p class="sb-datum hide-for-small">
        <a href="/jumplist/spieltag/wettbewerb/C1/saison_id/2014/spieltag/2">2. Spieltag</a>
        &nbsp;&nbsp;|&nbsp;&nbsp;
        <a href="/aktuell/waspassiertheute/aktuell/new/datum/2014-07-26">Sa., 26.07.2014</a>
        &nbsp;&nbsp;|&nbsp;&nbsp;17:45 Uhr
    </p>
    <p class="sb-datum show-for-small">
        <a href="/jumplist/spieltag/wettbewerb/C1/saison_id/2014/spieltag/2">2. Spieltag</a>
        <br />
        <a href="/aktuell/waspassiertheute/aktuell/new/datum/2014-07-26">26.07.2014</a>
        <br>
        17:45 Uhr
    </p>
    <div class="ergebnis-wrap">
        <div class="sb-ergebnis">
            <div class="sb-endstand">2:3
                <div class="sb-halbzeit">(<span>2:</span>2)
                </div>
            </div>
        </div>
    </div>
    <p class="sb-zusatzinfos">
        <span class="hide-for-small">
            <a href="/stadion/stadion/verein/504/saison_id/2014">Letzigrund</a>
            &nbsp;&nbsp;|&nbsp;&nbsp;
            <strong>4.200 Zuschauer</strong>
            <br />
        </span>
        <strong>Schiedsrichter:</strong>
        <br class="show-for-small" />
        <a title="Fedayi San" href="/fedayi-san/profil/schiedsrichter/4791">Fedayi San</a>
    </p>
</div>

我用:

Elements myText = doc.getElementsByClass("sb-spieldaten");
String myString = myText.select(a.sb-datum.hide-for-small").text();

但是有了这个,我在课堂上提取所有字符串“hide-for-small”。所以我得到的答案是:2。Spieltag | Sa.,26.07.2014 | 17:45 Uhr 2. Spieltag 26.07.2014 17:45 Uhr Letzigrund | 4200 Zuschauer Schiedsrichter:Fedayi San

我如何只获得其中一个字符串?我无法用.getElementsByClass(“...”)找到它。有没有办法提取特定的“a href”元素?或者我必须使用.split()方法吗?

2 个答案:

答案 0 :(得分:0)

&#34; Elements myText = doc.getElementsByClass(x);&#34;

查看相关网页的CSS,找到分配给相关元素的css元素的类ID。

答案 1 :(得分:0)

代码片段例如

Document abc = Jsoup.connect("http://www.abc.in/").timeout(0).get();
Elements ee = abc.select("a[href*=xyz]");// all hrefs containing xyz substring 
String xyz = ee.first().attr("abs:href");