gpt4 book ai didi

java - 抓取嵌套在 JSoup 中多个元素中的图像源

转载 作者:行者123 更新时间:2023-11-29 19:10:54 24 4
gpt4 key购买 nike

过去几天我一直在使用 JSoup 来尝试从亚马逊上为我的 Android 应用程序项目抓取一些数据,我已经在 J​​Soup 网站上看到了所有教程,并且在这里看到了很多问题在 Stack Overflow 本身。然而,尽管我已经尝试了一切,并且花费了所有时间来尝试从 img 元素中提取 source 属性,但似乎没有任何效果。

此处列出了来自网站的 HTML 代码,我想提取的是类名称为“a-dynamic-image a-stretch-horizo​​ntal”的 img 元素的 source 属性:

<ul class="a-unordered-list a-nostyle a-horizontal list maintain-height">
<li class="image item itemNo0 selected maintain-height"><span class="a-list-item">
<span class="a-declarative" data-action="main-image-click" data-main-image-click="{}">
<div id="imgTagWrapperId" class="imgTagWrapper">
<img alt="MSI R9 390 GAMING 8G Graphics Card" src="(source URL that I want to extract)"

" data-old-hires="https://images-na.ssl-images-amazon.com/images/I/81RZgkZUJlL._SL1500_.jpg" class="a-dynamic-image a-stretch-horizontal" id="landingImage" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/81RZgkZUJlL._SX450_.jpg&quot;:[338,450],&quot;https://images-na.ssl-images-amazon.com/images/I/81RZgkZUJlL._SX425_.jpg&quot;:[319,425],&quot;https://images-na.ssl-images-amazon.com/images/I/81RZgkZUJlL._SX466_.jpg&quot;:[350,466],&quot;https://images-na.ssl-images-amazon.com/images/I/81RZgkZUJlL._SX355_.jpg&quot;:[266,355],&quot;https://images-na.ssl-images-amazon.com/images/I/81RZgkZUJlL._SX522_.jpg&quot;:[392,522]}" style="max-width:522px;max-height:392px;">
</div>
</span>
</span></li>

我在Android Studio中的代码如下:

Document doc = Jsoup.connect(url).get();
Element link= doc.select("ul.a-unordered-list a-nostyle a-horizontal list maintain-height").select("span.a-list-item span.a-declarative").select("span.a-declarative")
.select("div.imgTagWrapper").select("img.a-dynamic-image a-stretch-horizontal").first();
String imageSRC = link.attr("src");

我很想确切地知道我在这里遗漏了什么,因为不可否认我对 Java 尤其是 JSoup 仍然非常缺乏经验。任何帮助将不胜感激,谢谢!

最佳答案

试试这个。

Element link= doc.select("ul.a-unordered-list.a-nostyle.a-horizontal.list.maintain-height")
.select("span.a-list-item span.a-declarative")
.select("span.a-declarative")
.select("div.imgTagWrapper")
.select("img.a-dynamic-image.a-stretch-horizontal").first();
String imageSRC = link.attr("src");

你应该选择多个类

.select("TAG.CLASS1.CLASS2.CLASS3")

代替

.select("TAG.CLASS1 CLASS2 CLASS3")

关于java - 抓取嵌套在 JSoup 中多个元素中的图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45382955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com