2017-12-27 14 views
-2

Jsoupを使用してJavaで必要なすべてのデータをポーリングし、要素として保存し、その "リンク"という名前を付けました。私はカリフォルニア州、ネバダ州、テキサス州などの州をスキャンし、そのうちの1つが投票データに表示されるたびに1ずつ増分したいと考えています。私は、各状態のintを作成し、+ =を使ってwhileステートメントでこれをスローし、これらのステートメントの50個を作成してすべての状態をスキャンするが、これについてどうやって行くのか知っている。また、その文を50回入力しないようにする方法もありますか?jsoupキーワードの要素を検索

リンク用のコードは

try { 
    doc = Jsoup.connect("https://www.cinemark.com/full-theatre-list").get(); 

    String title = doc.title(); 
    System.out.println("title : " + title); 

    Elements links = doc.select("a[href]"); 
} 

私は完全に機能を掲示し、私が欲しいものを私に取得するコードであるので、私は私の質問は、私はキーワードのためにそれらを私が作成した要素を参照してスキャンする方法だと思います。

これはコードの一部にすぎないので、jsoupのパスを設定しないと実行されないことに注意してください。私の質問は、私が投稿したコードではなく、プログラムの一般的なアイデアを伝えるためのものです。

+0

ようこそ。あなたの質問は改善が必要です。たとえば、使用しているデータ構造を記述すると役立ちます。また、いくつかのコード、または少なくとも擬似コードを考え出し、それに関する特定の質問をしてみてください。あなたの質問はあまりにも一般的です。 – luksch

+0

私はそれを行う方法を正確にはわかりません。スクリーンショットを投稿すると、今後の使用のために私が説明することができますか? – vic

+0

スクリーンショットがありません。まず、あなたが "リンク"を集めるために書いたコードを投稿することです。 – luksch

答えて

0

私はあなたが(Javaで)プログラミングを始めたばかりだと思います。あなたが欲しいものを行う1つの方法は、次のようにルックスをやっている:あなたのコードあなたももちろん

//create StateCounter instances in a list 
List<StateCounter> statecounters = new ArrayList<StateCounter>(); 

statecounters.add(new StateCounter("Texas")); 
statecounters.add(new StateCounter("Nevada")); 
... 

//when you have the links 

for (Element link: links){ 
    for (StateCounter sc : statecounters){ 
     if (link.getElementsByAttributeValueContaining​("href", sc.name)){ 
      sc.count++; 
     } 
    } 
} 

//do whatever you need to do. 

private class StateCounter { 
    public String name = ""; 
    public int count = 0; 

    public StateCounter(String name) { 
     super(); 
     this.name = name; 
     this.count = 0; 
    } 
} 

2):

1)は、このようなクラスのStateCountを作成します。 HashMapデータ構造を使用してカウントを格納できます。それはあなたが実際にカウントで何をしたいのか少しによって異なります。