suchen
HeimWeb-FrontendFront-End-Fragen und AntwortenEine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen

 Eine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen

【Verwandte Lernempfehlungen: Video-Tutorial zur Website-Produktion

Was ist ein Crawler? Vereinfacht und einseitig ausgedrückt ist ein Crawler ein Tool, das automatisch mit einem Server interagiert Daten beschaffen. Das Grundlegendste an einem Crawler ist, die Quellcodedaten einer Webseite abzurufen. Wenn Sie tiefer gehen, haben Sie eine POST-Interaktion mit der Webseite und erhalten die Daten vom Server zurückgegeben, nachdem Sie die POST-Anfrage erhalten haben. Kurz gesagt, der Crawler wird zum automatischen Abrufen von Quelldaten usw. verwendet. In diesem Artikel geht es hauptsächlich um die Datenbeschaffung durch den Crawler. Crawler, bitte achten Sie auf die Robot.txt-Datei der Website. Lassen Sie nicht zu, dass Crawler gegen das Gesetz verstoßen oder der Website Schaden zufügen.

 Unangemessene Beispiele für Anti-Crawling- und Anti-Anti-Crawling-Konzepte

  Aus vielen Gründen (z. B. Serverressourcen, Datenschutz usw.) schränken viele Websites den Crawler-Effekt ein.

Denken Sie darüber nach: Wenn ein Mensch als Crawler fungiert, wie erhalten wir dann den Quellcode einer Webseite? Die am häufigsten verwendete Methode ist natürlich das Klicken mit der rechten Maustaste auf den Quellcode.

 Die Website blockiert den Rechtsklick, was soll ich tun?

Eine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen

 Nehmen Sie F12 heraus, das nützlichste Tool in unserem Crawler (willkommene Diskussion)

 Drücken Sie gleichzeitig F12, um es zu öffnen (lustig)

Eine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen

 Quellcode Es ist raus!!

Wenn Menschen als Crawler behandelt werden, ist das Blockieren des Rechtsklicks die Anti-Crawling-Strategie und F12 die Anti-Crawling-Methode.

  Lassen Sie uns über die formale Anti-Crawling-Strategie sprechen

Tatsächlich muss es Situationen gegeben haben, in denen während des Schreibvorgangs eines Crawlers keine Daten zurückgegeben wurden. In diesem Fall hat der Server möglicherweise den UA-Header (Benutzer) eingeschränkt -agent). Dies ist eine sehr einfache Anti-Crawling-Methode. Fügen Sie einfach den UA-Header hinzu, wenn Sie die Anfrage senden ... Ist das nicht sehr einfach?

 Tatsächlich ist es eine einfache und grobe Methode, um alle erforderlichen Elemente hinzuzufügen Header sofort anfordern...

Haben Sie jemals herausgefunden, dass der Bestätigungscode einer Website auch eine Anti-Crawling-Strategie ist? Damit Website-Benutzer echte Menschen sein können, hat der Bestätigungscode wirklich einen großen Beitrag geleistet. Zusammen mit dem Bestätigungscode erschien die Bestätigungscode-Erkennung.

  Apropos, ich frage mich, ob die Verifizierungscode-Erkennung oder die Bilderkennung an erster Stelle standen.

  Einfache Verifizierungscodes sind jetzt sehr einfach zu erkennen, einschließlich leicht fortgeschrittener Entrauschungskonzepte , Segmentierung und Reorganisation. Aber jetzt ist die Mensch-Maschine-Erkennung auf Websites immer erschreckender geworden, wie zum Beispiel dieses:

Eine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen

Beschreiben Sie kurz das Konzept der Entrauschung von Binärwerten.

Binärwert, das heißt, das Bild selbst in nur zwei Töne umwandeln Das Beispiel ist Sehr einfach. Dies kann durch

 Image.convert("1")Eine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen

  in der Python-PIL-Bibliothek erreicht werden, aber wenn das Bild komplexer wird, müssen Sie noch mehr darüber nachdenken,

Eine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen

Wenn Sie eine einfache Methode direkt verwenden, wird es

Überlegen Sie, wie Sie diesen Bestätigungscode identifizieren können. Anhand der Eigenschaften des Codes selbst kann die Hintergrundfarbe berechnet werden des Verifizierungscodes und der RGB-Werte außer der Schriftart usw., wandeln Sie diese Werte in eine Farbe um und lassen Sie die Schriftart weg. Der Beispielcode lautet wie folgt, ändern Sie einfach die Farbe

rrree

Arr wird von Numpy erhalten. Es handelt sich um eine aus den RGB-Werten des Bildes abgeleitete Matrix. Leser können versuchen, den Code zu verbessern und selbst zu experimentieren.

 Nach sorgfältiger Verarbeitung kann das Bild

Die Erkennungsrate ist immer noch sehr hoch.

 Bei der Entwicklung von Verifizierungscodes gibt es relativ klare Zahlen und Buchstaben, einfache Addition, Subtraktion, Multiplikation und Division. Für einige schwierige Zahlen, Buchstaben und chinesische Schriftzeichen können Sie auch Ihre eigenen Räder erstellen (wie oben), aber für mehr Dinge reicht es aus, eine künstliche Intelligenz zu schreiben ... (Es gibt eine Aufgabe, die darin besteht, Bestätigungscodes zu erkennen ...)

 Und ein kleiner Tipp: Einige Websites haben Bestätigungscodes auf der PC-Seite, aber nicht auf der Mobiltelefonseite...

 Nächstes Thema!

  Eine weitere gängige Anti-Crawling-Strategie ist die IP-Blockierung. Normalerweise werden zu viele Besuche in einem kurzen Zeitraum blockiert Ganz einfach. Begrenzen Sie einfach die Häufigkeit der Besuche oder fügen Sie einen IP-Proxy-Pool hinzu. Natürlich kann die Formel auch verwendet werden... Obwohl es nicht viele kostenlose gibt, die genutzt werden können, ist es doch möglich.

Eine weitere Strategie, die auch als Anti-Crawler-Strategie gezählt werden kann, sind asynchrone Daten. Mit der schrittweisen Weiterentwicklung der Crawler (es handelt sich offensichtlich um ein Update der Website!) ist das asynchrone Laden ein Problem, das definitiv auftreten wird Lösung ist immer noch F12. Nehmen Sie als Beispiel die anonyme NetEase Cloud Music-Website, nachdem Sie mit der rechten Maustaste geklickt haben, um den Quellcode zu öffnen.

Eine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen Wo sind die Daten?! . Aber öffnen Sie F12, wechseln Sie zur Registerkarte „Netzwerk“, aktualisieren Sie die Seite und suchen Sie sorgfältig, es gibt kein Geheimnis.

Eine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen Übrigens, wenn Sie Musik hören, können Sie sie herunterladen, indem Sie darauf klicken ...

Eine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen Es dient nur der Popularisierung der Struktur der Website. Bitte widersetzen Sie sich bewusst der Piraterie. Schützen Sie das Urheberrecht und schützen Sie die Interessen des ursprünglichen Urhebers.

 Was sollten Sie tun, wenn diese Website Sie einschränkt? Wir haben einen letzten Plan, eine unbesiegbare Kombination: Selenium + PhantomJs

 Diese Kombination ist sehr leistungsstark und kann das Browserverhalten perfekt simulieren nicht empfehlenswert. Es ist nur für die Populärwissenschaft sehr umständlich.

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über Crawler und die Umgehung von Website-Anti-Crawling-Mechanismen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
React: Die Grundlage für die moderne FrontendentwicklungReact: Die Grundlage für die moderne FrontendentwicklungApr 19, 2025 am 12:23 AM

React ist eine JavaScript-Bibliothek zum Aufbau moderner Front-End-Anwendungen. 1. Es verwendet komponentiertes und virtuelles DOM, um die Leistung zu optimieren. 2. Komponenten verwenden JSX, um Daten zu definieren, zu staatlich und zu Attributen zu definieren. 3. Haken vereinfachen das Lebenszyklusmanagement. 4. Verwenden Sie ContextAPI, um den globalen Status zu verwalten. 5. Häufige Fehler erfordern Debugging -Statusaktualisierungen und Lebenszyklen. 6. Optimierungstechniken umfassen Memoisierung, Codeaufteilung und virtuelle Scrollen.

Die Zukunft von React: Trends und Innovationen in der WebentwicklungDie Zukunft von React: Trends und Innovationen in der WebentwicklungApr 19, 2025 am 12:22 AM

Die Zukunft von React wird sich auf die ultimative Komponentenentwicklung, Leistungsoptimierung und eine tiefe Integration in andere Technologiestapel konzentrieren. 1) React vereinfacht die Erstellung und Verwaltung von Komponenten weiter und fördert die ultimative Komponentenentwicklung. 2) Die Leistungsoptimierung wird insbesondere in großen Anwendungen im Mittelpunkt. 3) React wird tief in Technologien wie GraphQL und Typecript integriert, um die Entwicklungserfahrung zu verbessern.

React: Ein leistungsstarkes Werkzeug zum Erstellen von UI -KomponentenReact: Ein leistungsstarkes Werkzeug zum Erstellen von UI -KomponentenApr 19, 2025 am 12:22 AM

React ist eine JavaScript -Bibliothek zum Erstellen von Benutzeroberflächen. Seine Kernidee ist es, die Benutzeroberfläche durch Komponentierungen zu erstellen. 1. Komponenten sind die grundlegende Einheit von React, die UI -Logik und Stile einkapseln. 2. Virtual DOM und State Management sind der Schlüssel zur Komponentenarbeit, und Status wird über SetState aktualisiert. 3. Der Lebenszyklus enthält drei Stufen: Mount, Update und Deinstallation. Die Leistung kann mit vernünftigem Maße optimiert werden. V. 5. Zu den häufigen Fehlern zählen unsachgemäße Statusaktualisierungen und Leistungsprobleme, die durch ReactDevtools debuggen werden können. 6. Vorschläge zur Leistungsoptimierung umfassen die Verwendung von Memo, die Vermeidung unnötiger Wiederholung und Verwendung von uns

Verwenden von React mit HTML: Rendering -Komponenten und Daten rendernVerwenden von React mit HTML: Rendering -Komponenten und Daten rendernApr 19, 2025 am 12:19 AM

Die Verwendung von HTML zum Rendern von Komponenten und Daten in React kann durch die folgenden Schritte erreicht werden: Verwenden der JSX -Syntax: React verwendet die JSX -Syntax, um HTML -Strukturen in JavaScript -Code einzubetten, und betreibt die DOM nach der Kompilierung. Komponenten werden mit HTML kombiniert: React -Komponenten passieren Daten durch Props und generieren dynamisch HTML -Inhalte, wie z. Datenflussverwaltung: Der Datenfluss von React ist Einweg, der von der übergeordneten Komponente an die untergeordnete Komponente übergeben wird, um sicherzustellen, dass der Datenfluss steuerbar ist, z. B. App-Komponenten, die den Namen der Begrüßung übergeben. Basisnutzungsbeispiel: Verwenden Sie die Kartenfunktion, um eine Liste zu rendern. Sie müssen ein Schlüsselattribut hinzufügen, z. B. das Rendern einer Obstliste. Beispiel

Reacts Zweck: Bauen von einseitigen Anwendungen (SPAs)Reacts Zweck: Bauen von einseitigen Anwendungen (SPAs)Apr 19, 2025 am 12:06 AM

React ist das bevorzugte Tool zum Erstellen von Einzel miteinander-Anwendungen (SPAs), da es effiziente und flexible Möglichkeiten zum Erstellen von Benutzeroberflächen bietet. 1) Komponentenentwicklung: Teilen Sie die komplexe Benutzeroberfläche in unabhängige und wiederverwendbare Teile auf, um die Wartbarkeit und Wiederverwendbarkeit zu verbessern. 2) Virtual DOM: Optimieren Sie die Rendering -Leistung, indem Sie die Unterschiede zwischen virtuellem DOM und tatsächlichem DOM vergleichen. 3) Statusverwaltung: Verwalten Sie den Datenfluss durch Zustand und Attribute, um die Datenkonsistenz und Vorhersehbarkeit zu gewährleisten.

React: Die Kraft einer JavaScript -Bibliothek für die WebentwicklungReact: Die Kraft einer JavaScript -Bibliothek für die WebentwicklungApr 18, 2025 am 12:25 AM

React ist eine von Meta entwickelte JavaScript -Bibliothek zum Erstellen von Benutzeroberflächen, wobei der Kern die Komponentenentwicklung und die virtuelle Dom -Technologie ist. 1. Komponenten und Staatsmanagement: React verwaltet den Zustand durch Komponenten (Funktionen oder Klassen) und Hooks (wie Usestate), wodurch die Wiederverwendbarkeit und Wartung von Code verbessert wird. 2. Virtuelle DOM- und Leistungsoptimierung: Reagieren Sie durch virtuelles DOM effizient die reale DOM, um die Leistung zu verbessern. 3. Lebenszyklus und Haken: Hooks (wie die Verwendung von UseEffect) ermöglichen Funktionskomponenten, Lebenszyklen zu verwalten und Nebeneffektoperationen durchzuführen. V.

Reacts Ökosystem: Bibliotheken, Tools und Best PracticesReacts Ökosystem: Bibliotheken, Tools und Best PracticesApr 18, 2025 am 12:23 AM

Das React-Ökosystem umfasst staatliche Verwaltungsbibliotheken (z. B. Redux), Routing-Bibliotheken (z. B. Reactrouter), UI-Komponentenbibliotheken (wie Material-UI), Testwerkzeuge (wie Scherz) und Erstellung von Tools (z. B. Webpack). Diese Tools arbeiten zusammen, um Entwicklern dabei zu helfen, Anwendungen effizient zu entwickeln und zu pflegen, und die Effizienz der Code zu verbessern.

Reagieren und Frontendentwicklung: Ein umfassender ÜberblickReagieren und Frontendentwicklung: Ein umfassender ÜberblickApr 18, 2025 am 12:23 AM

React ist eine von Facebook entwickelte JavaScript -Bibliothek zum Erstellen von Benutzeroberflächen. 1. Es wird komponentierte und virtuelle DOM -Technologie verwendet, um die Effizienz und Leistung der UI -Entwicklung zu verbessern. 2. Die Kernkonzepte von React umfassen Komponentierungen, Staatsmanagement (wie Usestate und UseEffect) und das Arbeitsprinzip des virtuellen DOM. 3. In praktischen Anwendungen unterstützt React von der grundlegenden Komponentenwiedergabe bis hin zur erweiterten asynchronen Datenverarbeitung. 4. Häufige Fehler wie das Vergessen, Schlüsselattribute oder falsche Statusaktualisierungen hinzuzufügen, können durch ReactDevtools und Protokolle debuggen werden. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung von React.MEMO, Code -Segmentierung und Halten des Codes und die Aufrechterhaltung der Zuverlässigkeit

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung