繁体   English   中英

Jsoup:需要帮助从meta标签提取内容值

[英]Jsoup: need help extracting content value from meta tag

本质上,我正在尝试打印此特定硬币的价格。 这是我的程序。

package ZecPrice;

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.net.*;
import org.jsoup.Jsoup;
import org.jsoup.nodes.*;

public class ZecPrice 
{

    public static void main(String[] args)throws IOException
    {
        URL url1 = new URL("https://www.cryptocompare.com/coins/zec/overview/USD");
        URLConnection Urlconn = url1.openConnection();
         Urlconn.addRequestProperty("User-Agent", "Chrome"); 
        InputStreamReader in = new InputStreamReader(Urlconn.getInputStream());
        BufferedReader buff = new BufferedReader(in);

        String line = buff.readLine();
        while(line != null)
        {
            if(line.contains("<meta itemprop=\"price\""))
            {
              Document doc = Jsoup.parse(line);
              Element meta = doc.select("meta[itemprop=price]").first();
              String content = meta.attr("content");

              System.out.println(content);

            }
            line = buff.readLine();
        }
    }

}

我希望它输出硬币的当前价格。 但是,当我运行该程序时,它将输出:{{selectedCurrency.DATA.PRICE}}; 似乎是一个js变量。 有什么方法可以获取实际值?

你可以试试我的代码:

public static void main(String[] args)throws IOException
{
    URL url1 = new URL("https://www.cryptocompare.com/coins/zec/overview/USD");
    URLConnection Urlconn = url1.openConnection();
     Urlconn.addRequestProperty("User-Agent", "Chrome"); 
    BufferedReader in = new BufferedReader(new InputStreamReader(
                    url1.getInputStream()));

    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    String res = response.toString();
    if(line.contains("<meta itemprop=\"price\"")) {
          Document doc = Jsoup.parse(line);
          Element meta = doc.select("meta[itemprop=price]").first();
          String content = meta.attr("content");
          System.out.println(content);
    }
}

您正在寻找一个angularjs模板,其中不包含任何数据。 数据正在通过ajax加载。 您最好使用网站公开的json终结点:

https://min-api.cryptocompare.com/data/histominute?aggregate=10&e=CCCAGG&extraParams=CryptoCompare&fsym=ZEC&limit=144&tryConversion=false&tsym=USD

*请注意,这可能违反网站的条款和条件以及您了解法律义务的责任。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM