0

リンク名でURLを取得したい。

<a href="download.asp?softid=1&amp;downid=2&id=65367" target="_blank">download</a>

<a href="www.baidu.com" target="_blank">ad</a>

リンク名がダウンロードであるため、最初のURLが必要です。

私の質問は、リンク名で URL を取得する方法です。

完全な解決策は、すべての要素を取得して if(a.text().contains(download) ) を使用することです。しかし、私は簡単な方法があると思います。

ありがとう

4

2 に答える 2

2

最善の方法は、hrefs を含むすべての <a> を取得し、hrefs 属性を取得することです。ちょうどこのような:

Document doc = Jsoup.connect("whatever url").get();

Elements a = doc.select("a[href]");

String href;

for (Element elem : a) {
    href = a.attr("href");
}

今..どのhrefsを取得したいかは、完全にあなた次第です。しかし、私はあなたが使用する必要があると思います

.contains(""); 
.endsWith(""); 
.startsWith("");

ああ、多分、doc 変数の getter を使ってみてください。

.getElementsByAttributeValue("a[href]", "ダウンロード");

于 2012-06-08T14:44:48.290 に答える
2

擬似セレクターを使用します。例えば、

Document doc = Jsoup.connect(url).get();
Elements a = doc.select("a[href]:contains(download)");

正確に達成しようとしていることに応じて、子要素内の検索を避けるために containsOwn を使用するか、正規表現を使用してテキスト「ダウンロード」のみを含む要素を取得する場合は、matches/matchesOwn を使用することができます。その正規表現は

^download$

Selector のドキュメントを参照してください。

于 2012-06-08T19:53:27.523 に答える