我使用Jsoup的elements类来获取
爪哇代码
String response = ; // html code
Document document = Jsoup.parse(response);
if (document != null) {
Elements links = document.select("div.kCrYT > a[href]"); // gets all the URL's
for (Element link : links) {
String linkHref = link.attr("href");
System.out.println("linkHref: " + linkHref);
}
HTML代码
<div>
<div class="ZINbbc xpd O9g5cc uUPGi">
<div class="kCrYT">
<a href="/url?q=https://en.wikipedia.org/wiki/Mobile_phone&sa=U&ved=2ahUKEwjvy9fH9unoAhWLmOAKHZMGCYcQFjAaegQIARAB&usg=AOvVaw3g3Lc1rBf-L5ZlWeE9ggx7">
<div class="BNeawe vvjwJb AP7Wnd">
Mobile phone - Wikipedia
</div>
<div class="BNeawe UPmit AP7Wnd">
https://en.wikipedia.org › wiki › Mobile_phone
</div>
</a>
</div>
<div class="x54gtf"></div>
<div class="kCrYT">
<div>
<div class="BNeawe s3v9rd AP7Wnd">
<div>
<div>
<div class="BNeawe s3v9rd AP7Wnd">
A mobile phone, cellular phone, cell phone, cellphone or hand phone, sometimes shortened to simply mobile, cell or just phone, is a portable telephone that can ...
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div class="ZINbbc xpd O9g5cc uUPGi">
<div class="kCrYT">
<a href="/url?q=https://www.digitaltrends.com/mobile/&sa=U&ved=2ahUKEwjvy9fH9unoAhWLmOAKHZMGCYcQtwIwG3oECAIQAQ&usg=AOvVaw0SEels_2PKSQyaFaMbZQpT">
<div class="BNeawe vvjwJb AP7Wnd">
Mobile Phone and App News / Reviews | iOS, Android, and More ...
</div>
<div class="BNeawe UPmit AP7Wnd">
https://www.digitaltrends.com › mobile
</div>
</a>
</div>
<div class="x54gtf"></div>
<div class="kCrYT">
<a href="/url?q=https://www.digitaltrends.com/mobile/&sa=U&ved=2ahUKEwjvy9fH9unoAhWLmOAKHZMGCYcQuAIwG3oECAIQAg&usg=AOvVaw1NrWt0iIdzg2X2zgb-h8Vq">
<div class="lcJF1d SXn0g GXKcHe p1CInd">
<img class="EYOsld" style="display:block;max-width:120px;max-height:90px" alt="Video for mobile" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" id="dimg_1" data-deferred="1" />
<div class="qW7zYd HMoqlc"></div>
<div class="qW7zYd X8r0X" style="background-size:36px"></div>
</div>
</a>
<div>
<div class="BNeawe s3v9rd AP7Wnd">
<div>
<div>
<div class="BNeawe s3v9rd AP7Wnd">
<span class="r0bn4c rQMQod">3 days ago</span>
<span class="r0bn4c rQMQod"> · </span>News, reviews, and discussion regarding Android, iOS, and everything else in the mobile realm ...Posted: 3 days ago
</div>
</div>
</div>
</div>
</div>
<div class="rl7ilb"></div>
</div>
</div>
</div>
假设你的
document.select("div.kCrYT > a:first-child[href]")
如果不能保证这一点,可以使用第一个伪选择器来获得等效效果:
document.select("div.kCrYT > a:first-of-type[href]")
以上解决方案的更多细节,以防对其他人有所帮助(我知道它对OP不起作用,正如他们评论中提到的)。
我使用的jSoup版本是1.13.1:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.13.1</version>
</dependency>
代码:
private void getDivs() {
String response = testHtml; // the sample html code
Document document = Jsoup.parse(response);
if (document != null) {
// this works:
Elements links = document.select("div.kCrYT > a:first-child[href]");
// this also works:
//Elements links = document.select("div.kCrYT > a:first-of-type[href]");
for (Element link : links) {
String linkHref = link.attr("href");
System.out.println("linkHref: " + linkHref);
}
}
}
我正在使用Jsoup HTML解析器从HTML页面提取内容。 我想提取的内容(68.00),我尝试以下: 这不起作用,因为类“oPrice”在页面中出现了44次,字符串“priceString”包含44种不同的价格。 谢谢你的帮助。
问题内容: 我必须将HTML中的所有文本元素提取到Java字符串中。但是在单独的字符串中。 我有以下代码: 我用: 但是与此同时,我提取了“ hide-for-small”类中的所有Strings。所以我得到的答案是:2. Spieltag | sa。,26.07.2014 | 17:45 Uhr 2. Spieltag 26.07.2014 17:45 Uhr Letzigrund | 4200
我的代码返回网页上的所有链接,但当我在谷歌上搜索某些东西时,例如“android”,我想获取第一个链接。我该怎么做? 这是我的代码
我有一个带有div标签的页面源,如下面的示例页面源。我想像下面的例子一样刮掉所有的网址,并将它们保存在列表中。 示例url: 来自: 我尝试使用下面的代码从href中刮取网址。我试图使用span类来过滤只包含作业卡search__easy飞机的div标签。代码不返回任何网址,只是一个空列表。我对美丽的汤和硒不熟悉。如果有人能指出我的问题是什么,并提出一个解决方案,我会很高兴。特别是如果你也能给出一
我正在尝试使用漂亮的汤解析网页(这是我有生以来第一次),我遇到了一个奇怪的错误。html结构中的标记中有一个标记,我一直收到错误 html标签的结构如下:页面上项目的整个网格都在div类"properties_reviews"中,然后进入div类"preview"中,用于特定项目,该类"preview"还有两个类:照片的"preview-media"和我需要解析的文本信息的"preview-con
我在试着把这篇课文放在跨度内 使用下面的代码。但是,输出的行为就好像嵌套跨距不存在一样 我的输出是