2017-11-30 5 views
0

Javaでページ上部からコインマーケットのキャップの量を抽出する必要があります(例:市場キャップ:$ 306,020,249,332)。添付の写真をご覧ください。Javaでスクラップ/抽出、coinmarketcap.comからの結果

enter image description here

私は、JavaのEclipseでjsoupライブラリを使用していたが、ボリュームを抽出しませんでした。 Jsoupは他の属性のみを抽出します。おそらく問題はJavaスクリプトライブラリからです。

また、私は成功せず、HTMLユニットを使用しています

import java.io.IOException; 
import java.util.List; 

import com.gargoylesoftware.htmlunit.WebClient; 
import com.gargoylesoftware.htmlunit.html.HtmlAnchor; 
import com.gargoylesoftware.htmlunit.html.HtmlPage; 

public class Testss { 
    public static void main(String\[\] args) throws IOException { 

     String url = "https://coinmarketcap.com/faq/"; 

     WebClient client = new WebClient(); 
     HtmlPage page = client.getPage(url); 
     List<?> anchors = page.getByXPath("//div\[@class='col-sm-6 text-center'\]//a"); 
     for (Object obj : anchors) { 
      HtmlAnchor a = (HtmlAnchor) obj; 
      System.out.println(a.getTextContent().trim()); 
     } 
    } 
} 

は、どのように私はJavaを使用し、このサイトからボリュームを取り出すことができますか?

ありがとうございます!

答えて

1

リクエストURLはメインのフェッチ、だから、1 enter image description here

を下回っている。また、あなたのケースでは、ネットワークのタブがデータをフェッチしている正確な要求をfindoutそのhttps://files.coinmarketcap.com/generated/stats/global.json

enter image description here

をチェックURLは必要なものを提供しません。そのためには、リクエストURLから直接データを取得し、JSONライブラリを使用して解析する必要があります。 SimpleJSON私はそれらのうちの1つで示唆することができます。

URLにヒットした後に取得するJSONデータ。

{ 
 
    "bitcoin_percentage_of_market_cap": 55.95083004655126, 
 
    "active_cryptocurrencies": 1324, 
 
    "total_volume_usd": 21503093761, 
 
    "active_markets": 7009, 
 
    "total_market_cap_by_available_supply_usd": 301100436864 
 
}

+0

おかげで働いています! – Catalin

関連する問題