2011-08-15 10 views
0

私はこのウェブサイトからアイテムを取得し、リストに戻るためにこれを使用しています。href要素をセレクタで取得する方法は?

Document doc = null; 
    try { 
     doc = Jsoup.connect("http://www.gamespy.com/index/release.html").get(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
     // Get all td's that are a child of a row - each game has 4 of these 
     Elements games = doc.select("tr> td.indexList1, tr > td.indexList2"); 

     // Iterator over those elements  
     ListIterator<Element> postIt = games.listIterator();   
     while (postIt.hasNext()) {  
      // ...It 

      while (postIt.hasNext()) {  
       // Add the game text to the ArrayList  
       String name = postIt.next().text(); 
       String platform = postIt.next().text(); 
       String genre = postIt.next().text(); 
       String releaseDate = postIt.next().text(); 
       gameList.add(new GameRelease(name, platform, genre, releaseDate)); 
       Log.v(TAG, name +platform + genre +releaseDate); 
      } 

これは、各項目

<tr> 
<td class="indexList1" align="left"> 
    <a href="http://pc.gamespy.com/pc/hacker-evolution-duality-/" class="b1"> 
    <em>Hacker Evolution Duality </em> 
    </a> 
</td> 
<td class="indexList1" align="center"> 
    PC 
</td>  
<td class="indexList1" align="center"> 

    Adventure 
</td> 
<td class="indexList1" align="center"> 
    August 15, 2011 
    <!--08/15/2011--> 
</td> 

のHTMLで各項目は、同じパターンを持っていますが、私は知りたい私はあまりにも、各項目のURLを盗んことができます。皆さんはhtmlのソースも見てみる必要があるかもしれません。

しかし、私は各項目のURLを文字列に保存したいと思います。

答えて

2
while (postIt.hasNext()) { 
    // Get the title of the game 
    Element title = postIt.next(); 

    System.out.println(title.text()); 

    // Get the anchor element 
    Element url = title.select("a").first(); 

    // Get the URL here @@@ 
    System.out.println(url.attr("href")); 

    // Unneeded elements 
    Element platform = postIt.next(); 
    Element genre = postIt.next(); 

    // Get the release date of the game 
    Element release = postIt.next(); 
    System.out.println(release.text() + "\[email protected]@@@@@"); 
} 

EDIT:あなたの場合:

Element name = postIt.next(); 
String nameString = name.text(); 

Element url = name.select("a").first(); 
String urlString = url.attr("href"); 
1

各項目のパターンは同じですが、各項目のURLも調べることができます。

Elements links = doc.getElementsByTag("a"); // or getElementsByClass("b1"); 

ListIterator<Element> postIt = games.listIterator();   
    while (postIt.hasNext()) { 
     String linkHref = link.attr("href"); 
    } 
} 
+0

だから、各項目のためにそれを得るのだろうか?別に? –

+0

上に編集... –

+0

私はちょうど要素ゲームを使用できませんでしたか? –

関連する問題