Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 试图通过id获取元素的内部html_Java_Html_Web Scraping_Jsoup - Fatal编程技术网

Java 试图通过id获取元素的内部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-

我试图在futbin上获取一个元素的内部html,这是一个学习挑战,到目前为止,该元素是最低的。我可以正确识别元素,但内部html返回null。下面是代码以及我正在使用的futbin上的html代码

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();
        }