2010-06-05 3 views
3

Je dois écrire un programme pour gratter les forums.Écrire un programme pour gratter des forums

Dois-je écrire le programme en Python en utilisant le framework Scrapy ou devrais-je utiliser Php cURL? Existe-t-il un équivalent Php à Scrapy?

Merci

+3

Cela dépend surtout de la langue avec laquelle vous vous sentez le plus à l'aise. –

+1

La situation PHP a changé depuis que cette question a été posée. Pour gratter en PHP maintenant, je recommande d'essayer Goutte - c'est un navigateur sans tête construit au-dessus de Symfony Components et Guzzle. – halfer

Répondre

4

Je choisirais Python en raison des liaisons libxml2 supérieures, spécifiquement des choses comme lxml.html et pyQuery. Scrapy a ses propres bindings libxml2, je ne les ai pas regardés pour les tester, même si l'écrémage de la documentation de Scrapy ne m'a pas impressionné (j'ai fait beaucoup de grattage en utilisant simplement ces parseurs et le codage manuel). Avec tout cela, vous obtenez un analyseur HTML vraiment supérieur, interrogeant via XPath, et avec lxml.html et pyquery (également construit sur lxml) vous obtenez des sélecteurs CSS.

Si vous faites un petit travail en grattant un forum, je passerais un cadre de grattage et je le ferais à la main - c'est facile et paralléliser etc n'est pas vraiment nécessaire.

3

Je ne voudrais pas utiliser PHP pour une nouvelle application que je vous écris. Je n'aime pas la langue pour diverses raisons.

De plus, sa force réside dans son langage de script côté serveur pour fournir des pages dynamiques sur le Web. Pas comme un langage de programmation généraliste. C'est un autre point négatif. Je resterais avec Python.

En ce qui concerne le cadre à utiliser, il y en a beaucoup autour. Harvestman, Scrapy etc. Il y a aussi le crawler basé sur le cloud 80legs que vous pourriez utiliser.

Mise à jour: Les gens ont probablement mis cette réponse à la baisse parce que j'ai dit que je n'aimais pas PHP. Voici une liste de raisons pour lesquelles. Pas tout à fait exact mais un bon résumé néanmoins http://wiki.python.org/moin/PythonVsPhp

+7

Vous rigolez? Juste parce que vous n'aimez pas PHP ne veut pas dire que PHP ne serait pas parfait pour ça. Vous pouvez obtenir la page avec cURL et puis juste le gratter avec la classe DOMDocument. J'ai déjà fait des choses similaires. – AntonioCS

+2

Mon disque de PHP est dû à des problèmes de langue. Un support OO médiocre, une prise en charge médiocre des espaces de noms, un système de type moins qu'optimal, etc. Les deux langues sont complètes, donc vous pouvez le faire avec l'une ou l'autre. Cela ne fait pas de PHP un meilleur choix. En outre, le raclage/récolte à grande échelle est un peu plus complexe que de chercher une URL et d'utiliser un analyseur, car je suis sûr que vous apprécierez. –

+2

Noufal pouvez-vous développer à ce sujet: "Grattage/récolte à grande échelle est un peu plus complexe que l'extraction d'une URL et l'utilisation d'un analyseur, comme je suis sûr que vous apprécierez". Merci. – seanieb

Questions connexes