当前位置: 首页 > 知识库问答 >
问题:

使用Jsoup获取一个数值

洪旻
2023-03-14

我正在使用java从BNN网站上简单地跟踪股票的变化,我已经将其全部设置为访问正确的值。然而,我得到的不是一个数值,而是{{quoteObj.openPrc | number:2}。如何访问网站上显示的数值?

此外,如果你能帮我得到这个网站上的当前值,那也会很有帮助。

//编辑//

org.jsoup.nodes.Document doc = null;
                try {
                    doc = Jsoup.connect("https://www.bnn.ca/stock/ACB.TO").userAgent("Mozilla/5.0").timeout(30000).get();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                org.jsoup.nodes.Element content = doc.getElementById("content-container");
                org.jsoup.nodes.Element value = content.getElementsByClass("value").get(0);
                doc.select("div.value:contains(quoteObj.high)");
                        Pattern pattern = Pattern.compile("number:(\\d+)");
                        Matcher matcher = pattern.matcher(value.text());
                        if (matcher.find()) {
                            String number = matcher.group(1);
                            System.out.println(number);
                        }`

我更新了我的代码,但现在输出只有2,它只是从{{quoteObj.high|Number: 2}}中获取数字,我希望在网站上显示实际的数字值。

我已经附上了一个网页的图像和html代码附加到我试图获得的特定值。

共有1个答案

韶浩皛
2023-03-14

假设您已经检查了网站的源代码,如果没有,这里有一个代码片段,您正试图使用JSOUP获取它。

 <div ng-controller="stockDetailSummary" ng-cloak> 
       <div class="stockDetail" ng-show="quoteFound"> 
        <div ng-show="DataLoaded"> 
         <h2>Summary</h2> 
         <div class="Column Left"> 
          <div class="row"> 
           <div class="label">
            Open
           </div> 
           <div class="value">
            {{quoteObj.openPrc | number:2 }}
           </div> 
          </div> 
          <div class="row alt"> 
           <div class="label">
            High
           </div> 
           <div class="value">
            {{quoteObj.high | number:2 }}
           </div> 
          </div> 
          <div class="row"> 
           <div class="label">
            Low
           </div> 
           <div class="value">
            {{quoteObj.low | number:2 }}
           </div> 
 类似资料:
  • 我是新来的和学习它我想从Imdb站点/特定的电影链接提取评级,并发现我将能够从div与class=,因此我写了以下内容代码: 很奇怪,我没有得到任何数据,因为我能够在几周前得到评级数据。是div与class=存在于页面/url上。

  • 尝试使用Jsoup而不是网站API从网站上练习和获取信息。我的代码没有错误,但文本字段没有更改。它只是给我一个空白。我如何从网站上获取信息?我正试图获取主要新闻,以便在我的网站上发布。 我的代码:

  • 我有一些url。我想从url指向的html中获取所有href,从所有获取的hrefs中获取所有href(递归)。关键是我想设置“递归”的深度。例如,如果深度=1,我只需要来自超文本标记语言的href。如果深度=2,我需要来自超文本标记语言的hrefs(假设为list1)和来自list1的每个href的hrefs,依此类推 以下是我使用jsoup得到的结果: 我应该如何修复递归条件以使其正确?

  • 所以我尝试从pretag获取数据,我设置doc连接到url选择pretag,结果出错了,我需要获取的数据按这里

  • 问题内容: 我必须将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

  • 我正在刮网页使用JSoup库通过选择类属性,其中包含"nav"字符串。 这是获取网站超文本标记语言的代码: 正如您所看到的,id=“varPreviewMenu”的ul元素包含Jsoup检索到的HTML不包含的li元素。 我怎样才能得到那些元素?