2011-11-26 2 views
1

Je veux obtenir le contenu HTML d'un site Web et j'utilise le jsoup (java open source), pour crwal un site Web et d'obtenir les éléments avec ce code:sont les éléments de la classe peuvent résoudre ce

Document doc = Jsoup.connect("http://bj.58.com/shangdi/zufang/0/").get(); 
     Elements hrefs = doc.select("*"); 
     Elements hrefs2 = hrefs.select("td:lt(4)"); 
     System.out.println(hrefs2); 

et j'obtenir le résultat:

<td class="tc"><b class="pri">2100</b></td> 
<td class="tc">ABCD</td> 
<td class="tc">today</td> 

ou je modifier ce code (il suffit d'ajouter un "texte()" dans la dernière ligne):

Elements hrefs2 = hrefs.select("td:lt(4)"); 
System.out.println(hrefs2.text()); 

et j'obtenir le résultat:

2100 ABCD today 

mais je veux vraiment acheive est comme ce résultat:

2100,ABCD,today 

est une façon d'ajouter la virgule dans le résultat, de sorte que facile à sauver la résultat dans la base de données avec le fichier csv.

+0

Je ne sais pas si elle est juste moi, mais je ne comprends pas tout ce que vous dites. Que veux-tu accomplir? Qu'avez-vous essayé? S'il vous plaît former des phrases. – Christian

+0

ok, j'ai édité le src .... –

Répondre

2

Vous pouvez get an iterator sur le résultat Elements de hrefs.select, et à ce stade, vous pouvez faire ce que vous voulez avec la liste (à savoir, le formater comme vous le souhaitez).

+0

merci! J'essaie .. –

+0

Dans un premier temps, essayez quelque chose comme: 'pour (élément e: hrefs2) {System.println (e.text()); } ', alors vous pouvez comprendre comment ajouter des virgules et des choses. – Gian

+0

ça marche vraiment, merci! –

0

J'utilisé tds.append(","); cette ajouté une virgule à chaque élément de données de sorte qu'il importe bien délimité par des virgules comme

Questions connexes