HTML Code auslesen
-
jeder kennt ja die Möglichkeit per rechte Maustaste den HTML Code einer Seite anzeigen zu lassen. Meine Aufgabe ist es derzeit diesen HTML Code in einer Entwicklungsumgebung (bestenfalls C++) nach bestimmten Suchkritieren zu durchforsten.
libcurl währe eine Möglichkeit aber ob auch die beste?
Was meint ihr.
Von mir aus auch in Processing, Java, OF ...
Mfg
-
Ich würde dir zu Boost.Asio raten. Pipi einfach damit
-
Wie du an den Quelltext kommst, sollte dich bei deiner Problemstellung eigentlich nicht so stark beschäftigen. Egal ob libcurl oder boost::asio: In deinem Programm wird hinterher doch höchstens eine Leseaktion stattfinden. Dies ist mit allen Bibliotheken einfach. Ob das dann die "beste" ist, ist doch total egal. Außerdem ist es schwer zu beurteilen, weil das einfache holen einer Webseite in der Regel ein Ein- bis Zweizeiler ist.
Der große Unterschied zwischen den genannten Bibliotheken wäre höchstens der, dass boost eine C++ Schnittstelle bietet, während libcurl meines Wissens nach nur eine C Schnittstelle bietet.
-
Reicht bei Boost.Asio das einfache einbinder der lib. ODer ist die implentierung etwas schwerer?
-
SeppJ schrieb:
...während libcurl meines Wissens nach nur eine C Schnittstelle bietet.
Hab ich selbst aber noch nicht getestet...
-
Hat jemand schinmal das Boost.Asio schon benutzt. Scheint ja eine extrem mächtige libary zu sein.
-
Porates schrieb:
Hat jemand schinmal das Boost.Asio schon benutzt. Scheint ja eine extrem mächtige libary zu sein.
Ja, benutze ich in jedem Projekt. Einfach ne extrem coole Sache. Einfach mal nach Anleitungen zum Einbinden bei Google suchen und du wirst fündig werden.
-
habs nun mit bjam gemacht
derzeit kommen aber noch folgende fehlermeldung bei darauffolgenden Beispiel
1>LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
1>HTMLInAndOut.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__CrtDbgReportW" in Funktion ""protected: virtual char const * __thiscall std::ctype<char>::_Do_widen_s(char const *,char const *,char *,unsigned int)const " (?_Do_widen_s@?$ctype@D@std@@MBEPBDPBD0PADI@Z)".
1>libcpmtd.lib(cin.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
1>libcpmtd.lib(cout.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
1>libcpmtd.lib(stdthrow.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
1>libcpmtd.lib(xdebug.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__malloc_dbg" in Funktion ""void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)".
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__malloc_dbg".
1>libcpmtd.lib(xdebug.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__free_dbg" in Funktion ""void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z)".
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__free_dbg".
1>libcpmtd.lib(_tolower.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__calloc_dbg" in Funktion "__Getctype".
1>C:\Visual Studio 2008\Projects\HTMLInAndOut\Debug\HTMLInAndOut.exe : fatal error LNK1120: 4 nicht aufgelöste externe Verweise.Beispiel_
#include <boost/lambda/lambda.hpp> #include <iostream> #include <iterator> #include <algorithm> int main() { using namespace boost::lambda; typedef std::istream_iterator<int> in; std::for_each( in(std::cin), in(), std::cout << (_1 * 3) << " " ); }