2010-01-02 3 views
1

J'ai été chargé d'obtenir tous les SMS updates from this page et de les mettre dans un flux JSON en utilisant Yahoo Pipes. Je ne suis pas entièrement sûr de la façon dont j'obtiendrais chaque mise à jour, car ce ne sont pas des éléments individuels, mais seulement une collection de titres, etc. Toute sagesse partagée serait grandement appréciée!Analyse HTML en JSON

Répondre

2
<h1 id="blogtitle">SMS Update</h1> 
<div class="blogposttime blogdetail">Left at 2nd January 2010 at 01:12</div> 
<div class="blogcategories blogdetail">Recieved by SMS (Location: Pokhara - Nepal)</div> 
<p class="blogpostmessage"> 
RACE DAY! We took the extra day off to pimp the rick some more, including a huge Australian flag. Quiet night at a pub with 6 other teams. Time for brekkie and then we're off to the rickshaw grounds for 8:30 for 10am start. 
</p> 

Cela semble un travail assez facile pour un analyseur DOM/XML. Comme les blocs ne sont pas inclus dans des balises XML, vous pouvez rechercher les éléments présents dans chaque bloc, par exemple <h1 id="blogtitle">SMS Update</h1> définit le début d'un nouveau bloc.

Utilisez votre analyseur DOM pour rechercher tous les éléments avec l'ID blogtitle. À ce stade, vous pouvez utiliser une fonction DOM pour référencer le nextSibling de l'élément blogtitle. Tout ce dont vous avez besoin est le frères et sœurs après l'élément blogtitle. Avec un peu de travail, vous pouvez facilement utiliser cette logique pour créer votre objet JSON.

+0

Merci, mais j'ai "résolu" cela en trouvant tous les éléments du blog sur la page, ainsi que le posttime, etc et juste en itérant sur eux en utilisant Nokogiri (Ruby) car ils sont toujours dans le bon ordre. On dirait que ça marche bien. Merci pour votre réponse, cependant. –