2011-05-22 3 views
0

Je veux savoir comment trouver un numéro sur un site distant et en faire une variable. Par exemple, si je veux trouver la cotation boursière pour "AMZN", j'utiliserais curl ou obtenir du contenu sur la page "http://stock-quotes.com/AMZN" pour en faire une chaîne variable appelée $ contentsComment filtrer les données après avoir utilisé le contenu

Maintenant que j'ai le contenu de $, comment pourrais-je trouver cette citation d'AMZN? Je pensais utiliser une expression régulière pour affiner la ligne, comme trouver "AMZN = 35 points", puis effectuer une autre fonction pour supprimer les "AMZN =" et "points" au début et à la fin de la chaîne de sorte que " 35 "c'est tout ce qui reste.

Est-ce ainsi que les gens le font?

+0

la meilleure façon est avec DOM, mais correspondant à l'aide preg_match ('# AMZN = (*) indique #.', Le contenu $, match de $) est facile, mais si le balisage change le match casserait, aurait besoin de voir la page réelle tho –

+0

Pourquoi ne pas poster ceci comme une réponse à la place d'un commentaire? –

+0

@AJ car l'utilisation de reg expression à la place de DOM se termine généralement par des abaissements –

Répondre

0

Ce que je l'ai toujours fait (disons dans spidering, etc. .) est d'utiliser la bibliothèque simple_html_dom en PHP, puis inspecter le balisage du site. L'inconvénient, comme mentionné précédemment, est que si le balisage change, vous devrez modifier votre code, mais généralement c'est assez facile, et si vous utilisez une source qui a un balisage informatif (noms de classes cohérentes sur les éléments vous avez besoin, etc.), alors c'est encore plus facile.

lien Bibliothèque: http://simplehtmldom.sourceforge.net/

1

1.) DOM élément

2.) XML simple

3.) preg_match

4.) strpos

+0

Ces étapes ou 4 méthodes différentes que je pourrais utiliser? – Ryan

+0

Quatre méthodes différentes. –

+0

Ce sont 4 méthodes différentes que vous pourriez utiliser. ils sont listés par bonté – KoolKabin

Questions connexes