Options pour le grattage HTML ?

Je pense essayer Beautiful Soup, un package Python pour le scraping HTML. Existe-t-il d'autres packages de grattage HTML que je devrais examiner ? Python n'est pas une exigence, je suis également intéressé par d'autres langages.

L'histoire jusqu'à présent :

请先 登录 后评论

4 réponses

GateKiller

Je voudrais d'abord savoir si le ou les sites en question fournissent un serveur API ou des flux RSS pour accéder aux données dont vous avez besoin.

请先 登录 后评论
pix0r

Les expressions régulières fonctionnent également très bien pour le grattage HTML ;-) Bien qu'après avoir regardé Beautiful Soup, je peux voir pourquoi ce serait un outil précieux.

请先 登录 后评论
andrewrk

Pour Perl, il y a WWW::Mechanize.

请先 登录 后评论
Cristian

BeautifulSoup est un excellent moyen de faire du scraping HTML. Mon travail précédent m'a fait beaucoup gratter et j'aurais aimé connaître BeautifulSoup quand j'ai commencé. C'est comme le DOM avec beaucoup plus d'options utiles et c'est beaucoup plus pythonique. Si vous voulez essayer Ruby, ils ont porté BeautifulSoup en l'appelant RubyfulSoup mais il n'a pas été mis à jour depuis un moment.

D'autres outils utiles sont HTMLParser ou sgmllib.SGMLParser qui font partie de la bibliothèque Python standard. Celles-ci fonctionnent en appelant des méthodes chaque fois que vous entrez/sortez d'une balise et que vous rencontrez du texte html. Ils sont comme Expat si vous êtes familier avec ça. Ces bibliothèques sont particulièrement utiles si vous devez analyser des fichiers très volumineux et que la création d'un arbre DOM serait longue et coûteuse.

Les expressions régulières ne sont pas très nécessaires. BeautifulSoup gère les expressions régulières, donc si vous avez besoin de leur puissance, vous pouvez l'utiliser ici. Je dis aller avec BeautifulSoup sauf si vous avez besoin de vitesse et d'une empreinte mémoire plus petite. Si vous trouvez un meilleur analyseur HTML sur Python, faites-le moi savoir.

请先 登录 后评论
  • 23 abonnés
  • 0 favoris,474 Feuilleter
  • Mark Harrison posée à 2023-03-05 01:16