it-swarm.com.de

Werden Web-Scraper nicht mehr von verdeckten E-Mails getäuscht?

Es ist eine gängige Online-Praxis, dass Sie Ihre E-Mail nicht als [email protected] Leute schreiben es stattdessen als someone AT example.com in dem Versuch, es Web-Scrapern zu erschweren, Ihre E-Mail-Adresse auf einer Website zu finden.

Ist das überhaupt noch so effektiv? Ich würde mir vorstellen, dass jeder, der das Web nach E-Mails durchsucht, genauso gut nach einem solchen Muster suchen und es in eine E-Mail-Adresse umwandeln kann.

Ich bin sicher, dass einige Strategien zur Verschleierung der E-Mail-Adresse effektiver sind als andere, da nicht jede für einen Menschen lesbare Kombination in einem Programm berücksichtigt werden kann, aber häufig vorkommende wie die oben beschriebene leicht.

Welche Strategien könnten beim Versuch, eine E-Mail zu verschleiern, verwendet werden, um sicherzustellen, dass ein menschlicher Leser sie verstehen kann, ein Programm jedoch nicht? Könnte der Schaber nicht einfach weiter aktualisiert werden, um neue Muster zu verstehen, wie der Autor sie findet?

25
DLeh

Sie haben wirklich mehrere Methoden. Sie sollten natürlich berücksichtigen, dass solche Bots, die diesen Inhalt ernten, im Wesentlichen alle Seiten kratzen, auf die sie stoßen, und nach Mustern suchen, die wie E-Mail-Adressen aussehen. Wie Sie sagen, es ist ein bisschen wie ein Wettrüsten und es gibt nichts , was die Leute, die solche Schaber entwickeln, davon abhält, diese Methoden zu implementieren (warten Sie, ist das der Grund, warum Sie ' fragst du?)

In den meisten Fällen möchten Sie vermeiden, tatsächlich einen Hyperlink aus Ihrer E-Mail-Adresse zu erstellen, und Sie möchten auf jeden Fall die Verwendung von mailto vermeiden: - das ist im Grunde eine Ankündigung für jeden, der das liest Seite "Hey, ich bin eine E-Mail-Adresse".

Beginnen wir mit Nizza und einfach, Abstand:

m y e m a i l @ m y d o m a i n . c o m

Es ist offensichtlich eine E-Mail-Adresse für einen Menschen, sieht aus wie ein Bündel zufälliger Buchstaben mit Leerzeichen für einen Schaber. Mögen Sie keine Abstände? Viel seltener, aber weitaus kinderleichter ist es, Ihre E-Mail-Adresse in ein Bild umzuwandeln. Es ist immer noch für Menschen lesbar, aber es wird nicht etwas sein, nach dem die meisten E-Mail-Scraper suchen, geschweige denn analysieren können.

Wie wäre es, wenn Sie Ihre Interpunktion (@ und Punkt) in ihre HTML-Entsprechungen (@ bzw. .) konvertieren?

myemail@mydomain.com

Dies sieht beim Rendern durch den Browser immer noch wie eine E-Mail-Adresse aus, aber unter dem Gesichtspunkt des Scrapings wird es nicht allzu schwierig sein, dies zu umgehen, da Sie nur nach . und suchen würden @ - aber warum dort aufhören? Warum nicht den ganzen Weg gehen und einfach die gesamte E-Mail-Adresse verschlüsseln? Dies kann ganz einfach mit einem Tool wie Rumkins Mailto Encoder durchgeführt werden. Plötzlich sieht Ihre E-Mail-Adresse folgendermaßen aus:

myema%69l@my%64%6fma%69n%2e%63om

Dies wird immer noch so wiedergegeben, wie Sie es von einem Browser erwarten würden, ist jedoch für jeden Scraper, der die Codierung nicht berücksichtigt, im Grunde genommen Kauderwelsch.

Sie können dies auch mit CSS tun, wenn Sie zu so etwas neigen:

<style>
  my-email::after { content: attr(data-domain); } 
  my-email::before { content: attr(data-user); }
</style>

<my-email data-user="myemail" data-domain="mydomain.com">@</my-email>

Oder wie bereits im Stapelüberlauf beschrieben , Sie können einfach JavaScript verwenden.

18
kalina

Das Ausblenden Ihrer E-Mail mit Javascript kann Sie nur so weit bringen. Es gibt zwei Arten von Scraping-Engines, mit denen Daten von einer Website erfasst werden.

Classic: Der klassische Scraper führt einfach eine GET-Anforderung für die URL durch und analysiert dann den vom Server zurückgegebenen HTML-Code.

  • Vorteil: Hat den Vorteil einer schnellen Datenerfassung und eines höheren Durchsatzes sowohl aus Bandbreiten- als auch aus Prozessorsicht.
  • Nachteil: Die Seite wird nicht so geladen, wie es ein Browser tut. Da kein DOM geladen ist, stehen dem Scraper keine Javascript-basierten Inhalte zur Verfügung. Dies bedeutet, dass jede der von Flyk genannten Methoden bei der Bekämpfung dieser Schaber hervorragend funktioniert.

Browser-basiert: Die browserbasierten Scraper sind eine neue Art von Scraper und ermöglichen es der Engine, die Seite tatsächlich in einen "Webbrowser" zu laden. (Einige davon sind kopflos - phantom.js )

  • Vorteil: Diese Art von Schaber hat die Fähigkeit, eine Webseite effektiv zu rendern und die Ergebnisse genau so zu kratzen, wie sie einem Benutzer erscheinen würden. Dies bedeutet, dass diese Art von Scraper alle E-Mails lesen kann, die mit Javascript codiert wurden.

  • Nachteil: Diese Scraper sind auch viel komplexer zu erstellen und erfordern eine längere Ladezeit und mehr Bandbreite, bevor eine Seite gekratzt werden kann. Aus diesen Gründen verwenden viele Schaber immer noch nur den klassischen Schaberstil.

Am Ende ist es besser, Ihre E-Mail-Adresse mit Javascript zu verschlüsseln, als sie nur im Klartext einzugeben. Wenn Sie wirklich den besten Schutz für Ihre E-Mail wünschen, sollten Sie ein Bild Ihrer E-Mail-Adresse erstellen.

Bilder können mit OCR gelesen werden, aber die Komplexität geht weit über die meisten Scraping-Engines hinaus.

8
mcroo20

Eine ziemlich narrensichere Idee wäre, die E-Mail-Adresse in ein Bild oder einen Text aufzunehmen. Ich würde mir vorstellen, dass diese Methode von einem Programm besiegt werden könnte, das Text in Bildern lesen kann, aber es wäre viel schwieriger zu besiegen als einfacher Text.

2
Jonathan

Welche Strategien könnten beim Versuch, eine E-Mail zu verschleiern, verwendet werden, um sicherzustellen, dass ein menschlicher Leser sie verstehen kann, ein Programm jedoch nicht?

Eine alternative Lösung (bei der die E-Mail nicht auf der Seite angezeigt wird) besteht darin, ein Kontaktformular mit einem Captcha-Mechanismus zu verwenden, um Massenmailings zu verhindern.

Sie können eine automatische Antwort von einer echten E-Mail-Adresse hinzufügen (eine, die als Kontakt gespeichert werden kann).

0
WoJ