如何在 Java 中使用 Jsoup 获取函数数据的值

How to get value of function data with Jsoup in Java

提问人:UmutTekin 提问时间:5/2/2019 最后编辑:Markus KauppinenUmutTekin 更新时间:5/2/2019 访问量:261

问:

我已经使用 Jsoup 很长时间了。我需要获取表的值。

这就是我正在研究的链接:https://www.kayseri.bel.tr/vefat-ilanlari

这里的问题是:我无法直接访问我想要的值。

正如您在下面看到的,我需要使用 item 访问表值。Adsoyad 函数。

values i want

当我使用如下所示的 opera 开发人员工具检查值时,我意识到我可以以某种方式访问值。现在我的问题是我该怎么做。

values i reached

我只到这部分才回来,它返回您在日志中看到的代码。

try { Document document = Jsoup.connect("https://www.kayseri.bel.tr/vefat-ilanlari").timeout(10000).get();

if (document != null) { Elements adiSoyadi = document.select("tbody td[data-th = Adı Soyadı]"); Log.e("loge", "run: " + adiSoyadi.text()); } } catch (IOException e) { e.printStackTrace(); }

返回值:

E/loge: 运行: {{item.AdSoyad}}

java android jsoup html 解析

评论

0赞 Hatice 5/2/2019
请问你能检查一下这个答案和问题吗?stackoverflow.com/questions/24772828/......
0赞 UmutTekin 5/2/2019
我不认为它回答了我的问题。我知道如何解析表或其他东西。但我真正的问题是如何访问item.adsoyad的价值。我无法从item.adsoyad方法中提取名称
1赞 TDG 5/3/2019
表中的数据是从 中获取的。您应该下载该文件(即 json),然后检索所需的数据。https://www.kayseri.bel.tr/api/VefatEdenler/Getir?Tarih=02.05.2019
0赞 UmutTekin 5/3/2019
我不知道你是如何访问这个链接的,但非常感谢你。你帮了我很多。

答:

0赞 SylarBenes 5/2/2019 #1

因此,如果我理解正确,您将成功找到所有属性设置为元素的表字段,但您只需要获取它们的文本值。您可以像这样执行此操作(使用 Java 8 或更高版本):data-thAdı Soyadı

List<String> values = adiSoyadi.stream() // streaming all the elements 
.map(e -> e.text()) // getting the text from each element
.collect(Collectors.toList()) // collecting the Strings in a list

评论

0赞 UmutTekin 5/2/2019
仍然返回相同的值。“ E/loge: 运行: {{item.AdSoyad}} “你误会了我的意思。我不需要元素的文本值。这很简单。我需要得到物品。Adsoyad的价值。您可以查看该网站。您会看到表值未显示在 html 上。我需要使用 item 的功能访问该值。阿德索亚德
1赞 SylarBenes 5/2/2019
哦,好的。所以你的问题是你正在尝试 Jsoup 由 Javascript 生成的元素?在这种情况下,我向你推荐这个:[stackoverflow.com/questions/7488872/......
0赞 UmutTekin 5/2/2019
我认为这是我的问题。所以我不能使用jSoup。感谢您的帮助