<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[c++ internet]]></title><description><![CDATA[<p>Hey.<br />
Mich reizt ja sehr, etwas mit C++ in Verbindung mit dem Internet zu machen.<br />
Es gibt sicherlich viele Dinge, die man mit C++ machen kann aber in erster Linie soll einem das ganze ja Spaß bringen.</p>
<p>Ich würde gerne mal versuchen, ein kleinen eigenen Webcrawler zu basteln. Da muss nicht die neuste Technik hinter stecken. Wäre schon zufrieden, wenn ich es schaffe, dass er meinen Namen im Internet durchsucht.</p>
<p>Wie gehe ich da am besten ran?</p>
<p>Für die eigentliche Internetverbindung und Informationsabfrage gibt es bestimmt schon fertige Klassen oder?</p>
<p>Das einzige, was mir noch nicht so ganz klar ist, wie ich dem beibringen soll, dass er automatisch die Seiten durchforstet, denn er &quot;kennt&quot; ja keine Seite.<br />
Oder muss ich echt die URL manuell eintragen :D`?</p>
<p>Wollte mir mal paar Tipps von euch abholen.<br />
Viell. gibts ja auch nen TUtorial oder so</p>
<p>Danke im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267892/c-internet</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 04:03:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267892.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 May 2010 21:24:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to c++ internet on Mon, 31 May 2010 21:24:10 GMT]]></title><description><![CDATA[<p>Hey.<br />
Mich reizt ja sehr, etwas mit C++ in Verbindung mit dem Internet zu machen.<br />
Es gibt sicherlich viele Dinge, die man mit C++ machen kann aber in erster Linie soll einem das ganze ja Spaß bringen.</p>
<p>Ich würde gerne mal versuchen, ein kleinen eigenen Webcrawler zu basteln. Da muss nicht die neuste Technik hinter stecken. Wäre schon zufrieden, wenn ich es schaffe, dass er meinen Namen im Internet durchsucht.</p>
<p>Wie gehe ich da am besten ran?</p>
<p>Für die eigentliche Internetverbindung und Informationsabfrage gibt es bestimmt schon fertige Klassen oder?</p>
<p>Das einzige, was mir noch nicht so ganz klar ist, wie ich dem beibringen soll, dass er automatisch die Seiten durchforstet, denn er &quot;kennt&quot; ja keine Seite.<br />
Oder muss ich echt die URL manuell eintragen :D`?</p>
<p>Wollte mir mal paar Tipps von euch abholen.<br />
Viell. gibts ja auch nen TUtorial oder so</p>
<p>Danke im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905228</guid><dc:creator><![CDATA[hanny_montanny]]></dc:creator><pubDate>Mon, 31 May 2010 21:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Mon, 31 May 2010 21:37:19 GMT]]></title><description><![CDATA[<p>Etwas einfaches geht relativ schnell.</p>
<p>Hier kannst du mal anseztzen (für Windows):<br />
<a href="http://msdn.microsoft.com/en-us/library/aa385103%28v=VS.85%29.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/aa385103(v=VS.85).aspx</a></p>
<p>Das Prinzip ist ganz einfach.<br />
Du liest mal eine Startseite ein, schaust dir die Links an, welche es auf der Seite gibt und wählst dann einen oder mehrere aus, welche du weiter bearbeitest. Dort machst du dann wieder das gleiche. Wenn du auf einer Seite bist, dann kannst du auch gleich noch nach etwas suchen.</p>
<p>Die Schwierigkeit liegt darin zu entscheiden welchen Links du folgst, welche du ignorierst, damit du nich in eine Sackgasse läufst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905231</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 31 May 2010 21:37:19 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Mon, 31 May 2010 21:44:11 GMT]]></title><description><![CDATA[<p>Für HTTP- und FTP-Übertragungen wird oft libcurl empfohlen.<br />
Ansonsten fängst du in der Tat bei irgendeiner Seite an (z.B. dieser Threadseite), suchst alle Links im Dokument und fügst sie zur Warteschlange hinzu. Hier gibt es schon mal Links zur phpBB-Seite, zum MSDN und zu Twitter. Das reicht schon, um praktisch zu jeder frei zugänglichen Seite im Internet zu kommen.<br />
Du wirst allerdings merken, dass das gar nicht so einfach ist. Denn schon nach überraschend kurzer Zeit wird deine Warteschlange Millionen von Seiten enthalten, die du irgendwann nicht mehr alle im RAM halten kannst.</p>
<p>Edit: worauf ich hinaus wollte: du musst aber trotzdem beim Parsen herausfinden, ob die Links bereits in deiner Riesenwarteschlange sind oder ob du sie schon besucht hast. Und zwar <em>schnell</em>, denn im Schnitt gibt es pro Seite &gt;100 zu überprüfende Links.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905235</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Mon, 31 May 2010 21:44:11 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Mon, 31 May 2010 21:50:22 GMT]]></title><description><![CDATA[<p>Ein gescheites Filtering gehört natürlich schon auch dazu. Links zu Bildern, in die aktuelle Seite rein usw. sind natürlich Unsinn, wenn man möglichst Breit suchen will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905245</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 31 May 2010 21:50:22 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Tue, 01 Jun 2010 11:36:41 GMT]]></title><description><![CDATA[<p>Danke für die netten Antworten.<br />
Werde erstmal versuchen, eine x-beliebige Internetseite zu durchsuchen. Wenn das klappt, trau ich mich mit den Links ran</p>
<p>Glaubt ihr es macht Sinn bzw. es ist nötig, vor der Programmierung eine kleine Dokumentation (Was das Projekt genau beinhaltet + Strukturam etc) zu schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905450</guid><dc:creator><![CDATA[hanny_montanny]]></dc:creator><pubDate>Tue, 01 Jun 2010 11:36:41 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Tue, 01 Jun 2010 11:49:52 GMT]]></title><description><![CDATA[<p>Ich benutze libcurl und libxml2 (zum Parsen der HTML Seiten), beides C Bibliotheken (es gibt jeweils auch ein C++ binding), mit denen man an einem Wochenende einen kleinen Crawler hinbekommt. Man stellt aber schnell fest, dass der nicht weit kommt, denn im Internet herrscht absolutes Chaos <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> An jeder Ecke lauert der nächste Depp, der deinem Html-Parser das Leben schwer macht.<br />
Wenn der dann endlich mal einigermaßen stabil ist, wirst Du feststellen, dass schon durch deine DSL Leitung mehrere tausend Webseiten pro Minute passen und dein mikriger RAM ratzfatz mit unbesuchten URLs voll ist. Du brauchst dann schnell gute Methoden den ganzen Kram möglichst fix woanders hinzuschreiben.<br />
Wenn dann alles toll läuft stellst du fest dass dein Crawler nen richtiger Depp ist und ständig im Kreis rennt oder hin und her oder sonst was. Darüber kannste dann deine Doktorarbeit schreiben, wie man sich möglichst intelligent durch ein Netz von Dokumenten bewegt. Da gibt es allerdings schon ein paar ganz nette Artikel.<br />
Alles in allem eine ganz lustige Sache, aber alles andere als einfach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905459</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Tue, 01 Jun 2010 11:49:52 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Tue, 01 Jun 2010 13:51:59 GMT]]></title><description><![CDATA[<p>hanny_montanny schrieb:</p>
<blockquote>
<p>Danke für die netten Antworten.<br />
Werde erstmal versuchen, eine x-beliebige Internetseite zu durchsuchen. Wenn das klappt, trau ich mich mit den Links ran</p>
<p>Glaubt ihr es macht Sinn bzw. es ist nötig, vor der Programmierung eine kleine Dokumentation (Was das Projekt genau beinhaltet + Strukturam etc) zu schreiben?</p>
</blockquote>
<p>Es macht Sinn sich vorher zu überlegen, was man denn alles realisieren möchte. Du kannst dabei so vorgehen, dass du deine Ideen in 3 Kategorien einteilst:</p>
<ul>
<li>must-have (muss es haben)</li>
<li>should-have (sollte es haben)</li>
<li>nice-to-have (wäre schon zu haben)</li>
</ul>
<p>So kannst du schon mal grob sehen, wohin die &quot;Reise&quot; später gehen soll. Das ist für die Planung nicht ganz unwichtig, da du so weißt, was du evtl. für spätere Änderungen besonders flexibel programmieren solltest. Beim gesamten Projekt solltest du dir durchaus kleine (Zwischen-)Ziele setzen. So kannst du dich auch langfristig motivieren, wenn du immer wieder einen Erfolg hast.</p>
<p>Ich selber würde keine umfangreichen Diagramme erstellen, sondern möglichst detailiert aufschreiben, was das Programm machen soll.</p>
<p>Eine Dokumentation kannst du im Quellcode durch Kommentare vornehmen. Wenn das Programm mal größer ist und du es veröffentlichen willst, dann kannst du natürlich eine umfassendere Dokumentation schreiben.</p>
<p>brotbernd schrieb:</p>
<blockquote>
<p>Ich benutze libcurl und libxml2 (zum Parsen der HTML Seiten), beides C Bibliotheken (es gibt jeweils auch ein C++ binding), mit denen man an einem Wochenende einen kleinen Crawler hinbekommt. Man stellt aber schnell fest, dass der nicht weit kommt, denn im Internet herrscht absolutes Chaos <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> An jeder Ecke lauert der nächste Depp, der deinem Html-Parser das Leben schwer macht.<br />
Wenn der dann endlich mal einigermaßen stabil ist, wirst Du feststellen, dass schon durch deine DSL Leitung mehrere tausend Webseiten pro Minute passen und dein mikriger RAM ratzfatz mit unbesuchten URLs voll ist. Du brauchst dann schnell gute Methoden den ganzen Kram möglichst fix woanders hinzuschreiben.<br />
Wenn dann alles toll läuft stellst du fest dass dein Crawler nen richtiger Depp ist und ständig im Kreis rennt oder hin und her oder sonst was. Darüber kannste dann deine Doktorarbeit schreiben, wie man sich möglichst intelligent durch ein Netz von Dokumenten bewegt. Da gibt es allerdings schon ein paar ganz nette Artikel.<br />
Alles in allem eine ganz lustige Sache, aber alles andere als einfach.</p>
</blockquote>
<p>Auch ich rate zu libcurl, insofern gute Entscheidung. Allerdings würde ich mir gar kein HTML-Parser an Bord holen. Wozu? Letzendlich ist man nur an den Links interessiert. Entsprechend würde ich mir ein Parser basteln, der aus einem String Links erkennt. Dabei ist dann egal, ob diese mit einem &lt;a href=&quot;mypage&quot;&gt;Blub&lt;/a&gt; eingebudnen wurden oder einfach <a href="http://www.c-plusplus.net" rel="nofollow">www.c-plusplus.net</a> dort steht.</p>
<p>Natürlich ist das durchaus ein großer Aufwand, sowas zu programmieren und man muss auch viel testen. Aber schlussendlich hat man damit etwas, was viel flexibler, weniger fehleranfällig und gründlicher arbeitet.</p>
<p>Will man das ganze möglichst schnell erledigen, so wird man später bei Threads landen. Ich hatte das damals auch so gelöst, da es einfach viel schneller ist - kann für die erste Version aber vernachlässig werden. Es soll ja erstmal laufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905508</guid><dc:creator><![CDATA[......]]></dc:creator><pubDate>Tue, 01 Jun 2010 13:51:59 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Tue, 01 Jun 2010 14:28:06 GMT]]></title><description><![CDATA[<blockquote>
<p>Dabei ist dann egal, ob diese mit einem &lt;a href=&quot;mypage&quot;&gt;Blub&lt;/a&gt; eingebudnen wurden oder einfach <a href="http://www.c-plusplus.net" rel="nofollow">www.c-plusplus.net</a> dort steht.</p>
</blockquote>
<p>Ob das so ist, gehört zu der genannten Entscheidung zu den Anforderungen. In meinem Projekt ist es ein gewaltiger Unterschied ob ein URL in einem anchor, img, link, stylesheet, canonical oder einfach im Text steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905531</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Tue, 01 Jun 2010 14:28:06 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Tue, 01 Jun 2010 18:25:51 GMT]]></title><description><![CDATA[<p>@Dokumentation:<br />
Weiß nicht aber mir bringt das sogar Spaß ein Projekt zu dokumentieren und das richtig schön auszuarbeiten, selbst wenn das Tool nur für mich ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Ich finde es macht Spaß sein Projekt wie ein &quot;richtiges&quot; Projekt zu behandeln.</p>
<p>Gehts euch auch so oder ist das eine Macke von mir ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905614</guid><dc:creator><![CDATA[x-wall]]></dc:creator><pubDate>Tue, 01 Jun 2010 18:25:51 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Tue, 01 Jun 2010 20:34:20 GMT]]></title><description><![CDATA[<p>Ich habe das auch mit einem einfachem Matching gemacht, ob etwas ein Link ist und da eben Bilder usw. rausgeschmissen.<br />
Der ist dann im ersten Stadium tatsächlich auch im Kreis gerennt, aber ein wenig später (Filtering) wurde es dann besser. Ich habe auch ein paar Interessante Webseiten so gefunden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>@x-wall<br />
Hmm. Kommt drauf an. Wenn ich etwas ausprobieren will, dass etwas umfangreicher ist (wie eben ein Crawler), dann interessiert mich hauptsächlich die Umsetzung und die Probleme, die man da so findet und wie man die so behebt. Dann verliere ich eigentlich das Interesse wieder, weil ich keine Lust habe etwas zu machen, was nichts neues generiert. Crawler gibts genug und wahrscheinlich auch genug gute, die man brauchen kann, wenn man will. Wozu also noch gross dran weiter machen? (mein Meinung, keine direkte Frage)<br />
Dann einen Dokumentation zu schreiben für etwas, was lediglich für dich gedacht ist und hauptsächlich zum lernen da ist finde ich persönlich Zeitverschwendung. Selbst wenn du das dokumentieren selbst auch lernen willst würde ich das mit einem richtigem Projekt machen, welches klare Ziele und einen weiteren Nutzen hat.</p>
<p>Falls du aber Spass dran hast, dann lass dich davon nicht abhalten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905676</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 01 Jun 2010 20:34:20 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Wed, 02 Jun 2010 11:18:07 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Ich habe auch ein paar Interessante Webseiten so gefunden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Ich find auch immer interessant, wie wenig Schritte zwischen einer Seite wie <a href="http://whitehouse.gov" rel="nofollow">whitehouse.gov</a> und der ersten xxx-Seite liegen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905838</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Wed, 02 Jun 2010 11:18:07 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Wed, 02 Jun 2010 11:29:05 GMT]]></title><description><![CDATA[<p>Angeblich ist ja jede Webseite mit jeder anderen in höchstens 6 Links verbunden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905841</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 02 Jun 2010 11:29:05 GMT</pubDate></item><item><title><![CDATA[Reply to c++ internet on Wed, 02 Jun 2010 17:25:25 GMT]]></title><description><![CDATA[<p>brotbernd schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Ich habe auch ein paar Interessante Webseiten so gefunden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Ich find auch immer interessant, wie wenig Schritte zwischen einer Seite wie <a href="http://whitehouse.gov" rel="nofollow">whitehouse.gov</a> und der ersten xxx-Seite liegen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Interessant war, dass ich vor allem auf PC spezifische Seiten gelandet bin (eine xxx Seite war da IIRC nie dabei.. zumindest habe ich nie eine gesehen).</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18594">@Th69</a><br />
Jede mag ich stark bezweifeln, da es viele Seiten gibt, welche nicht wirklich verlinkt sind (welche man natürlich aus dem Grund auch kaum findet). Aber dass viele Seiten über max 6 Links erreichbar sind klingt einigermasen realistisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1906034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1906034</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 02 Jun 2010 17:25:25 GMT</pubDate></item></channel></rss>