2013-06-13 8 views
0

Je voulais analyser les éléments de ce site Web https://www.theice.com/coal.jhtml. Spécifiquement, les valeurs dans la table:Analyse du site Web en Python

<table class="default condensed"> Je veux extraire chaque ligne et le stocker dans mon programme. Je sais que je peux utiliser BeautifulSoup pour rechercher tous les tags <tr class="(odd|even)"> et stocker cette information. Mais je me demandais s'il y avait un moyen plus facile de le faire. Par exemple, certains sites Web ont JSON charger les champs de données, mais je ne pouvais pas le trouver dans ce cas. Y a-t-il quelque chose de semblable que je peux utiliser pour les entrées sur ce site?

+0

Avez-vous essayé '/search/Search.shtml? SearchAsJSON ='? Je ne sais pas si c'est ce que vous voulez, mais cela retourne des choses comme JSON. – Wes

+0

Donc, à partir de 'https: // www.theice.com/coal.jhtml', j'ai essayé quelque chose comme ceci:' https: //www.theice.com/coal/search/Search.shtml? SearchAsJSON = ', je reçois une "page non trouvée" –

+0

@Wes Votre idée est bonne, je dois transformer ces éléments dans la page en JSON si possible –

Répondre

2

Ce n'est pas une bonne question pour SO parce que la réponse est spécifique à un site Web. Un rapide coup d'œil sur le site me porte à croire que la table est construite côté serveur.

En général, voici quelques façons de savoir si vous pouvez appeler le serveur directement plutôt que l'analyse syntaxique HTML ...

(1) Est-il facile de trouver/lire JavaScript qui fait une requête AJAX? Si oui, pouvez-vous déchiffrer ce que les arguments de la demande signifient? (2) Utilisez les outils de développement dans Chrome ou Firefox pour voir si la page demande des fichiers qui ressemblent à des données (par exemple, XML, CSV). Je ne vois pas ça ici (encore une fois, j'ai regardé rapidement). Enfin, respectez les conditions d'utilisation et le fichier robots.txt s'il y a lieu. La création de sites Web de grande valeur demande beaucoup de travail et le fait d'obliger les gens à prendre des documents sans permission est embêtant, surtout s'ils prévoient tirer profit des informations qu'ils recueillent. Un rapide coup d'œil à votre site suggère que vous êtes en pleine lumière ici.

BeautifulSoup est génial. Je préfère lxml et vous pourriez aussi.