Java 试图通过id获取元素的内部html
我试图在futbin上获取一个元素的内部html,这是一个学习挑战,到目前为止,该元素是最低的。我可以正确识别元素,但内部html返回null。下面是代码以及我正在使用的futbin上的html代码Java 试图通过id获取元素的内部html,java,html,web-scraping,jsoup,Java,Html,Web Scraping,Jsoup,我试图在futbin上获取一个元素的内部html,这是一个学习挑战,到目前为止,该元素是最低的。我可以正确识别元素,但内部html返回null。下面是代码以及我正在使用的futbin上的html代码 52000 我从这个函数得到的输出是 价格: 我对这个网络抓取很陌生,所以任何关于我做错了什么的想法我都会很感激。感谢您的回复您可以这样尝试 final String playerPage = "https://www.futbin.com/21/player/583/alejandro-
52000
我从这个函数得到的输出是
价格:
我对这个网络抓取很陌生,所以任何关于我做错了什么的想法我都会很感激。感谢您的回复您可以这样尝试
final String playerPage = "https://www.futbin.com/21/player/583/alejandro-gomez";
try {
final Document document = Jsoup.connect(playerPage).get();
var price = document.getElementById("xboxlowest").innerHTML;
var realprice=pInteger.parseInt(price);
System.out.println("Price: "+realprice);
}catch(Exception e){
e.printStackTrace();
}
我只是想,这可能是因为futbin可能通过代码更新html,所以我可能无法读取它?该值稍后会动态生成(通常由JavaScript生成)
jsoup
不是浏览器模拟器,而是HTML解析器,因此您需要使用其他工具,如支持JS的Selenium webdriver。如果它能工作,请将答案标记为已接受,以便其他有类似问题的人可以获得帮助,谢谢您。问题的主要症状是System.out.println(“Price:+Price.HTML())代码>仅作为结果生成价格:
。所以价格没有价值。对不存在的值(如空字符串)使用parseInt
(可能应该是Integer.parseInt
)无法解决此问题。问题已结束,因此我无法发布答案。我不明白为什么现在每个人都在下载足球分数。。。无论如何,这是我自己(个人设计的)关于执行装载了
的AJAX页面的方法。仔细阅读Splash工具的相关内容
——因为我发现它在下载futbol
网站这样的页面时,80%到90%的时间都能正常工作,而这是一个大量的Java脚本
,我的意思是你也可以使用SeleniumSelenium,这会增加很多开销。。。
final String playerPage = "https://www.futbin.com/21/player/583/alejandro-gomez";
try {
final Document document = Jsoup.connect(playerPage).get();
var price = document.getElementById("xboxlowest").innerHTML;
var realprice=pInteger.parseInt(price);
System.out.println("Price: "+realprice);
}catch(Exception e){
e.printStackTrace();
}