


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?
Nehmen Sie F12 heraus, das nützlichste Tool in unserem Crawler (willkommene Diskussion)
Drücken Sie gleichzeitig F12, um es zu öffnen (lustig)
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:
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")
Ü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.
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.
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.
Übrigens, wenn Sie Musik hören, können Sie sie herunterladen, indem Sie darauf klicken ...
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!

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 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 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

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

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 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.

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.

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


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

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
Visuelle Webentwicklungstools

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
Leistungsstarke integrierte PHP-Entwicklungsumgebung