Jsoup comme analyseur html pour C++
J'ai écrit des codes pour obtenir des données à partir de certaines pages en Java et Jsoup était sur de meilleures bibliothèques de travailler avec. Mais, Malheureusement, je dois le port de l'ensemble du code en C/C++. Mais je ne trouve pas que tout bon analyseur html à utiliser sur le c++. Est-il Jsoup comme la bibliothèque de C++ ou Comment des résultats similaires peuvent être obtenus?
[Actuellement, je suis à l'aide de Curl pour obtenir le code source des pages d'itinérance et de l'internet pour trouver un analyseur html]
Il y a vraiment bonne parseurs XML là, mais je ne suis pas au courant d'une bonne C++ HTML analyseur spécifique
Serait JNI être une solution pour vous?
Je ne pourrais pas l'souhaitez utiliser JNI. Je n'ai pas beaucoup d'idée à ce sujet. Et je tiens également à rendre le projet moins dépendante[à l'exception nécessaire].
Et aussi pour une clarification, ce dont j'ai besoin est juste de l'analyse du document et d'obtenir certaines valeurs et une méthode fiable pour revenir à l'aide de CSS Sélecteur[de préférence] ou Xpath. Aussi, il serait très bien si l'analyseur est très rapide, car je voudrais être en train de parcourir plus de 100 000 pages de maintenir une base de données.
Google open source Gumbo: github.com/google/gumbo-parser
Serait JNI être une solution pour vous?
Je ne pourrais pas l'souhaitez utiliser JNI. Je n'ai pas beaucoup d'idée à ce sujet. Et je tiens également à rendre le projet moins dépendante[à l'exception nécessaire].
Et aussi pour une clarification, ce dont j'ai besoin est juste de l'analyse du document et d'obtenir certaines valeurs et une méthode fiable pour revenir à l'aide de CSS Sélecteur[de préférence] ou Xpath. Aussi, il serait très bien si l'analyseur est très rapide, car je voudrais être en train de parcourir plus de 100 000 pages de maintenir une base de données.
Google open source Gumbo: github.com/google/gumbo-parser
OriginalL'auteur Writwick | 2013-07-29
Vous devez vous connecter pour publier un commentaire.
Malheureusement, je pense qu'il y a pas de parser comme Jsoup pour le C++ ...
À côté de la bibliothèques qui sont déjà évoqué ici, il y a une bonne vue d'ensemble sur le C++ (C trop) analyseur ici: Gratuit C ou C++ XML Parser les Bibliothèques
Pour l'analyse, j'ai utilisé TinyXML-2 (Html) DOM l'analyse; c'est un très petit (2 fichiers) la bibliothèque qui fonctionne sur la plupart des OS (même les non-desktop).
LibXml
Apache Xerxces
Si vous êtes sur le C++ CLI, découvrez NSoup - un Jsoup port .NET.
Plus:
Peut-être vous pouvez combiner un Modèle DOM /Analyseur et d'un sélecteur CSS ensemble?
LibDOM est pas du C++ compatible car il utilise le mot clé namespace comme une variable membre d'une structure.
OriginalL'auteur ollo
Si vous êtes familier avec le Framework Qt le moyen le plus pratique est d'utiliser QWebElement (Référence ici).
Sinon, (comme un autre post l'indique) à l'aide de Bien rangé pour convertir HTML XML valide et ensuite à l'aide d'un analyseur XML comme libxml++ est une bonne option. Vous pouvez trouver un exemple de code montrant ces deux étapes ici.
Je n'ai pas su que soit. 😀 +1. C'est vraiment la solution la plus simple mais aussi la dépendance à Qt est un problème [pour moi]...
OriginalL'auteur sgun
Chrome est un open source analyseur. Aussi, le Google gumbo-analyseur l'air cool.
OriginalL'auteur bowlofstew
Vous pouvez utiliser xerces2 DOM parser.
Ou de l'utilisation HTML Tidy pour nettoyer le code HTML et de le convertir en XHTML puis parser le XML avec pugixml ou similaire analyseur XML. Et depuis pugixml est une non-validation de l'analyseur, il pourrait tout aussi bien travailler sur le HTML brut, sans la nécessité de runnin HTML Tidy sur elle d'abord.
OriginalL'auteur Housy
Si vous n'avez pas l'esprit de l'appel à python en C++, vous pouvez utiliser Belle Soupe. Au moins le nom est à droite!
Au sérieux - c'est un gentil, no-nonsense analyseur HTML. Je n'ai pas essayé d'appeler à partir de C++, bien qu'il devrait être straightforwards.
OriginalL'auteur Graham Griffiths