Crawler -Projektpraxis
veranschaulichen
Persönlicher Blog des Autors
Blog von gebratenen Paprika mit heißem Topf
Alle Projekte sind Autorenschulungen und teilen Projekte . Wenn ein Verstoß vorliegt, kontaktieren Sie uns bitte, um es zu löschen . Es dient nur zum Lernen und Teilen und kann keine kommerziellen Aktivitäten durchführen .
Aufgrund der Zeitprobleme im Programmabschluss werden einige Projekte möglicherweise nicht wiederverwendet .
Siehe Anmerkung.txt für Praxisnotizen
Dieses Projekt wird kontinuierlich aktualisiert
Einige praktische Erklärungen des Projekts finden Sie unter B -Station: https://space.bilibili.com/35242527/Channel/CollectionDetail?sid=1590251
Nachfolgend finden Sie die persönliche Bewertung für die Krabbelschwierigkeit der Website
| Grad | Logo | Schwierigkeitsgrad Beschreibung |
|---|
| Spinnenei | 0 | Erste Schritte |
| Junge Spinne | 00 | Überquerte die Schwelle |
| Kleine Spinne | * | primär |
| Große Spinne | ** | Etwas höher als der Junior |
| Riesenspinne | *** | Mittlere Schwierigkeit |
| Strahlende Spinne | + | Gemäßigte und obere Schwierigkeit |
| Giftige Spinne | ++ | Schwieriger |
| Spinnenkönig | +++ | Katastrophe |
| Spinnengeist | KÖNIG | Hölle |
Projektkatalog
Graph TD;
Grundlagen-> Anfrage;
Grundlagen-> Analyse von HTML und Stammgästen;
Grundlagen-> Scrapy;
Grundlagen-> Hochleistungs-Asynchron-Crawler;
Grundlagen-> Feapder;
Automatisierung-> Selen
Automatisierung-> Dramatiker;
Fortgeschrittenes Kapitel-> umfassender Fall;
Erweitertes Kapitel-> JS Reverse Topic;
JS Reverse Topic-> Header- oder Antwortdatenverschlüsselung anfordern;
JS Reverse Topic-> Browser-Fingerabdruckerkennung;
JS Reverse Topic-> Webpack-Artikel;
JS Reverse Topic-> Umwelterkennung;
JS Reverse Topic-> WASM;
Verifizierungscode-> Slider;
Überprüfungscode-> klicken, um auszuwählen;
Laden In dem Projekt verwendete Bibliothek von Drittanbietern
pip install requests # requests库,爬虫的开始
pip install curl_cffi # 标准tls请求库
pip install lxml # xpath提取数据
pip install playwright # 自动化需要
pip install ddddocr # 识别验证码
pip install selenium # 自动化需要,推荐playwright
pip install scrapy # 爬虫框架
pip install " feapder[all] " # 新一代爬虫框架
pip install pycryptodome # python标准密码库
pip install pyexecjs2 # python调用js代码
pip install m3u8 # 下载m3u8视频
pip install prettytable # 格式化输出
pip install tqdm # 进度条
pip install loguru # 强大的日志工具库
pip install retrying # 强大的重试工具
npm install crypto-js/cryptojs # 二选一,js标准密码库
npm install jsdom # js模拟浏览器的dom和bom
npm install tough-cookie # 浏览器cookie
Grundlagen
Anfrage
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Ritterbegleiter | Baidu -Webseite | Das erste Crawler -Programm | klicken Sie hier |
| Ritterbegleiter | UA -Identifizierung | Erstes umgekehrtes Crawl | klicken Sie hier |
| Ritterbegleiter | Baidu -Übersetzung | Kennen Sie die Postanfrage | klicken Sie hier |
| Ritterbegleiter | Doppelfilme | Base | klicken Sie hier |
| Ritterbegleiter | KFC -Standortabfrage | JSON -Praxis | klicken Sie hier |
Analyse von HTML und regulären Artikeln
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Quasi-Knight | Holen Sie sich FakeUa | LXML Parsing | klicken Sie hier |
| Quasi-Knight | 4K Bildkriechend | LXML und lösen Sie das Problem der Codierungsfehler | klicken Sie hier |
| Quasi-Knight | 58 | LXML und Paging -Kriechen | klicken Sie hier |
| Quasi-Knight | BS -Grundlagen | Anfängliche BS | klicken Sie hier |
| Quasi-Knight | BS Fall | Praktische BS | klicken Sie hier |
| Quasi-Knight | XPath -Grundlagen | Anfangs xPath | klicken Sie hier |
| Quasi-Knight | XPath Parsen | Übe XPath | klicken Sie hier |
| Quasi-Knight | Regelmäßige Grundlagen | Erstverordnung | klicken Sie hier |
| Quasi-Knight | Regelmäßige Übungen | Praktische Regeln | klicken Sie hier |
| Quasi-Knight | Lebenslauf Kriechling | Das obige kleine umfassende | klicken Sie hier |
Scrapy
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Der große Ritter | Bossjob | Stufe 1 Seite Krabbeln, ist möglicherweise nicht verfügbar | klicken Sie hier |
| Der große Ritter | Doppelfarbball | Alle sind grundlegende Scrapy -Operationen | klicken Sie hier |
| Der große Ritter | Bild | Alle sind grundlegende Scrapy -Operationen | klicken Sie hier |
| Der große Ritter | Sonnenscheinpolitik | Alle sind grundlegende Scrapy -Operationen | klicken Sie hier |
| Der große Ritter | Yi -Autodaten kriechen | Bei JS Reverse handelt es sich nur um ein Einstiegsniveau und eine großflächige JSON-Datenanalyse | klicken Sie hier |
| Der große Ritter | Schul Schönheitsnetzwerk | Alle sind grundlegende Scrapy -Operationen | klicken Sie hier |
| Der große Ritter | Netease News | Alle sind grundlegende Scrapy -Operationen | klicken Sie hier |
| Der große Ritter | 17k Roman Crawling | Alle sind grundlegende Scrapy -Operationen | klicken Sie hier |
Hochleistungs-Asynchroner Crawler
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Ritterbegleiter | Flasche treffen | Grundwissen | klicken Sie hier |
| Ritter | Grundlagen des Fadenbades | Grundwissen | klicken Sie hier |
| Der große Ritter | Meinv Bild Batch krabbeln | Base | klicken Sie hier |
| Der große Ritter | Promi -Bildkriechen | Base | klicken Sie hier |
| Der große Ritter | Multitasking Coroutine | Base | klicken Sie hier |
| Der große Ritter | Thread Pool -Anwendung | Base | klicken Sie hier |
Feapder
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Der Ritter des Rabens | Xiaohongshu -Datenerfassung | Verwenden Sie den Luftmodus -Feapder, um die CSV -Speicherpipeline anzupassen. In Zukunft werden weitere Modi neu geschrieben und weitere Funktionen werden hinzugefügt. Wir müssen auch zusätzliche Informationen hinzufügen. | klicken Sie hier |
Automatisierung
Selen
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Ritterbegleiter | Grundlegender automatischer Betrieb | Basisautomatisierungsbetrieb | klicken Sie hier |
| Ritterbegleiter | Simulationsanmeldung | Automatisierung üben | klicken Sie hier |
| Ritterbegleiter | Aktionskette und IFREAM -Verarbeitung | Automatisierung üben | klicken Sie hier |
| Ritterbegleiter | Kopfloser Browser und Anti-Erkennung | üben | klicken Sie hier |
| Ritter | 12306 Simulationsanmeldung | Meistens nicht verfügbar | klicken Sie hier |
| Ritter | Damai.com | Meistens nicht verfügbar | klicken Sie hier |
Dramatiker
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Ritter | Postleitzahl | Fragen Sie die Postleitzahl über die Adresse ab, verwenden | klicken Sie hier |
| Der große Ritter | Anti-Kriechen mit lokalem Browser | Wir erkennen manchmal bei der Automatisierung. Wir verwenden lokale Browser für Anti-Crawling. Da es sich um einen lokalen Browser handelt, gibt es unseren Sitzungsstatus und unser Cookie -Status. Das heißt, wir greifen direkt auf die Website zu, auf die wir angemeldet sind. Dies ist viel bequemer und verlangt nicht, dass wir den Browser -Kontext erstellen. | klicken Sie hier |
| Der Erdritter | Informationen sammeln | Die Schwierigkeit besteht darin, dass jede Website unterschiedliche Stile hat, alle Daten nicht gleich sind und die Zahl groß ist. Es ist schwierig, reguläre Regeln zu schreiben, und es ist auch schwierig, mit Asynchron umzugehen. Das Lagerhaus listet nur 10 der Seiten auf, wodurch der Schriftsteller ein gewisses Verständnis der regulären Regeln und des asynchronen Dramatikers verabreicht. | klicken Sie hier |
| Der große Ritter | Anti-Anerkennungbrowser | Erstellen Sie einen Anti-Erkennungsbrowser in der JS-Datei von Daniu, die die meisten Erkennungen umgehen kann | klicken Sie hier |
| Der Erdritter | Qidian VIP -Roman Krabbeln | Umgang mit dem CSS-Anti-Klettern von Qidian-VIP-Romanen durch Screenshots sind die verwendeten Wissenspunkte: Positionierungsboxen, Screenshots, Gleitleitungen, Verarbeitungsgrenzen und Zusammenführen von Screenshots. Diese Lösung ist nicht die optimale Lösung, sondern jeder ist eingeladen, hinzuzufügen | klicken Sie hier |
Fortgeschrittenes Kapitel
Umfassender Fall
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Ritter | Eine bestimmte Gedichtwebsite | Überprüfungscode, Anmeldungs- und Bildverifizierungscode-Lösung --- ddddocr | klicken Sie hier |
| Der große Ritter | Sprache Crawler | Verwenden Sie das Internet, um Text in Sprachen umzuwandeln, chinesische, englische und koreanische Sprachen zu unterstützen | klicken Sie hier |
| Der große Ritter | B Station umfassend | Überprüfen Sie, ob der Benutzer Sie mag, ziehen Sie die Nachrichtenliste und ziehen Sie die ähnliche Liste ab | klicken Sie hier |
| Der Erdritter | Eine Video -Website | M3U8 Video-Download, Lösen Sie die Situation mit Schlüssel und ohne Schlüssel, M3U8 Einstieg und Multi-Thread-Download | klicken Sie hier |
| Der Erdritter | INS Crawler | Für die Page -Parameter -Extraktion und Parsen von JSON -Dateien | klicken Sie hier |
| Der Erdritter | Douyin -Daten kriechen auf der gesamten Website | Inklusive Videomager -Download, Kommentarkriech, Benutzerinformationen Crawling ... Derzeit haben einige Schnittstellen ebenfalls mit der XB -Erkennung begonnen. Wenn Sie die erkannte Schnittstelle verwenden müssen, müssen Sie XB hinzufügen, um die Daten zu erhalten. Integrieren Sie jetzt die Signatur wieder. Sie finden die JS -Datei, um die Signatur in GitHub zu erhalten, sie in das gleiche Verzeichnis wie die Douyin -Datei zu setzen und es xb.js. UP bietet ein Code -Repository, das Open Source auf GitHub ist. Das Repository ist im Code markiert und kann derzeit verwendet werden. | klicken Sie hier |
| Der Erdritter | Weibo -Daten kriechen über die Website | Einschließlich der Suche nach Benutzern, Suche nach Posts, Herunterladen von Kommentaren, Herunterladen von Benutzeralben, Benutzer -Homepage, Benutzerinformationen ... | klicken Sie hier |
| Unbekanntes Niveau | Reptilienrad | Persönlich ist die sekundäre Einkapselung häufig verwendeter Crawler -Methoden für die spätere Entwicklung bequem | klicken Sie hier |
JS Reverse Topic
Anfrage Header- oder Antwortdatenverschlüsselung
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Ritter | Nenniu -Daten | Anfrage Header -Verschlüsselung, Antwortkörperverschlüsselung | klicken Sie hier |
| Ritter | Unterhaltungsindex | Grundlegende Einführung | klicken Sie hier |
| Ritter | Yien -Daten | Reaktionskörperverschlüsselung | klicken Sie hier |
| Ritter | Wie auch immer, überprüfen Sie | Reaktionskörperverschlüsselung | klicken Sie hier |
| Der große Ritter | FJS öffentliche Transaktion | Verschleierte Parameterverschlüsselung | klicken Sie hier |
| Der große Ritter | Die einzige Kunst | Dynamischer JS -laufender Code | klicken Sie hier |
| Der Erdritter | Eine Wetterwebsite | Dynamisches JS-Dynamikschlüssel Dynamischer Parameter Anti-Debug | klicken Sie hier |
| Der Erdritter | Eine Fußball -Website | Mehrere Verschlüsselung der Anforderungskörper, es ist schwierig, den verschlüsselten Ort zu lokalisieren | klicken Sie hier |
| Der Erdritter | Wangyiyun Musik | Implementieren Sie Daten, die auf der gesamten Site kriechen | klicken Sie hier |
| Der Erdritter | GDS öffentliche Transaktion | Verwirrende Parameter müssen Standorte finden | klicken Sie hier |
| Der Erdritter | Eine bestimmte Übersetzung | Die Befragung der Verschlüsselungsreaktion ist nicht schwierig | klicken Sie hier |
| Der Erdritter | Login auf der B Station | RSA verschlüsseltes Passwort, die dritte Generation von Textklicks kann ausgewählt werden und die Textklicks finden Sie im Abschnitt Überprüfungscode | klicken Sie hier |
Webpack
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Der Erdritter | China Mineralien | Basic WebPack, Standardversionsverschlüsselungsalgorithmus, einfach, kann auf verschiedene Arten implementiert werden (NodeJS, Python und Decode) | klicken Sie hier |
Umwelttests
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Der Ritter des Rabens | Rotbuch | XHS XS -Umgebungserkennung, Sie müssen Cookies und LocalStorage selbst in die Datei einfügen | klicken Sie hier |
| Der Ritter des Rabens | Bossjob | __zp_s ... __ Umgebungserkennung, JS sind jeden Tag anders, Sie müssen einige Umgebungen zusammenstellen und JS ändern, es gibt eine Modulerkennung usw. | klicken Sie hier |
| Der Ritter des Rabens | APE MAN Studies Frage 1 2023 | Ändern Sie MD5 und AES auf magische Weise, um einige Honeypots zu löschen und die Browserumgebung wieder aufzufüllen | klicken Sie hier |
| Der Erdritter | Ele.me Parameter | Holen Sie sich den Parameter BX_ET durch Dramatiker | klicken Sie hier |
| Der Ritter des Rabens | PDDs Anti_Content -Parameter | Dies ist keine Nachschubumgebung, sondern ein Algorithmus für den Abzug. Die Verschlüsselung von PDD ist wahrscheinlich in verschiedenen Stellen gleich und die Werte einiger Objekte sind unterschiedlich. Die verschlüsselten Hauptfunktionen sind alle logisch | klicken Sie hier |
| Der Erdritter | Aktualisieren Sie Boss Direct Recruitment -Elemente Klicken Sie Klicken, um IP zu entsperren, daher habe ich gerade einen online gefunden | Dieser Klick zur Auswahl der Trajektorienverschlüsselung ist die dritte Generation von Extremtests der dritten Generation | Aktualisiert in der Boss -Datei |
WASM -Verschlüsselung
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Der Ritter des Rabens | Eine bestimmte Fluggesellschaft | Der Inhalt des WASM -Betriebs realisiert Verschlüsselungs- und Entschlüsselungsanforderung Header -Parameter Verschlüsselungsaktualisierung Alibaba System V2 Erkennung Alibaba System V3 Detection (automatische Erfassung), sodass alle Verschlüsselungsparameter aufgelöst wurden | klicken Sie hier |
Browser -Fingerabdruckerkennung
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Der Erdritter | Yi Jiubi | Erstens ist es die verschlüsselte Anfrage, gefolgt von der Erkennung von TLS -Fingerabdruck. Derzeit wird die Homepage-Anfrage mit einer Bibliothek von Drittanbietern weitergegeben. | klicken Sie hier |
Bestätigungscode
Schieberegler
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Der große Ritter | JD Slider | Nachdem wir das Bild erhalten haben, können wir DDDDOCR verwenden, um den Schieberegler zu identifizieren, dann die Flugbahn zu generieren und die Anfrage zu senden. Die Flugbahn hier wurde vom Chef geschrieben. Bereiten Sie zuerst einen Benchmark vor, schieben Sie ihn manuell von links nach rechts und dann eine zitternde Flugbahn und spleißen Sie dann zwei Flugbahnen (ich weiß nicht, warum die Trajektorie, die ich selbst schob, nicht bestanden hat, also habe ich direkt die Flugbahn des Boss verwendet) | klicken Sie hier |
| Der große Ritter | Alibaba 226 | Dieser Update -Dramatiker ist relativ einfach zu erhalten | klicken Sie hier |
| Der große Ritter | Feigua bekommt Verifizierungscode -Schieberegler | Dieser Update -Dramatiker ist relativ einfach zu erhalten | klicken Sie hier |
Klicken Sie auf die Auswahl
| Schwierigkeitszahl | Projektname | Wieder auffüllen | Schnelle Navigation |
|---|
| Der Ritter des Rabens | Die dritte Generation von Punkten zu wählen | Wir fordern die Schnittstelle an, Bilder gemäß der Anforderungsreihenfolge nacheinander zu erhalten. Nachdem wir die Bildinformationen erhalten haben, senden wir sie an die Identifikationsschnittstelle, um die punktausgewählten Koordinaten zu erhalten. Nachdem wir die Koordinaten erhalten haben, wandeln wir die Koordinaten um und senden sie an die JS, um die Flugbahn zu erzeugen. Nachdem wir die Flugbahn erhalten haben, fordern wir die Schnittstelle an, um das Validieren zu erhalten | klicken Sie hier |
Sterngeschichte
Sponsor
Wenn Sie der Meinung sind, dass dieses Lagerhaus für Sie hilfreich ist, um Crawler und Rückwärtsanweisungen zu erlernen, können Sie den Autor sponsern und den Autor bitten, eine Tasse Milchtee zu haben ~! !
(Ihre Unterstützung kann den Autor den ganzen Tag glücklich machen?)