Pratique du projet Crawler
illustrer
Blog personnel de l'auteur
Blog de poivrons frits avec de la pot chaude
Tous les projets sont des projets de formation et de partage des auteurs. S'il y a une contrefaçon, veuillez nous contacter pour le supprimer . Il s'agit d' apprendre et de partager uniquement et ne peut effectuer aucune activité commerciale .
En raison des problèmes de temps dans la fin du programme, certains projets peuvent ne pas être réutilisés .
Voir note.txt pour les notes de pratique
Ce projet sera mis à jour en continu
Pour quelques explications pratiques du projet, veuillez vous référer à la station B: https://space.bilibili.com/35242527/channel/collectiondetail?sid=1590251
Vous trouverez ci-dessous la note personnelle de la difficulté de rampe de site Web
| grade | Logo | Description de difficulté |
|---|
| Œuf d'araignée | 0 | commencer |
| Jeune araignée | 00 | Franchi le seuil |
| Petite araignée | * | primaire |
| Grande araignée | ** | Un peu plus élevé que le junior |
| Araignée géante | *** | Difficulté moyenne |
| Araignée rayonnante | + | Difficulté modérée et supérieure |
| Araignée toxique | ++ | Plus difficile |
| Roi de l'araignée | +++ | Catastrophe |
| Esprit d'araignée | ROI | enfer |
Catalogue de projets
graphique TD;
Bases -> demande;
Bases-> Analyse des HTML et des habitués;
Bases -> Scrapie;
Bases -> Crawler asynchrone haute performance;
Bases -> Feapder;
Automatisation -> sélénium
Automation -> Playwright;
Chapitre avancé-> Affaire complète;
Chapitre avancé-> Sujet inversé JS;
JS Topic inverse -> En-tête de demande ou en cryptage des données de réponse;
JS REAVER SUJET -> Détection d'empreintes digitales du navigateur;
JS Reverse Topic -> WebPack Article;
JS Topic inverse -> Détection environnementale;
JS Topic inverse -> wasm;
Code de vérification -> curseur;
Code de vérification -> Cliquez pour sélectionner;
Chargement Bibliothèque tierce utilisée dans le projet
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
Bases
Demande
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Chevalier | Page Web de Baidu | Le premier programme de chenilles | Cliquez ici |
| Chevalier | Identification UA | RACHEMENT INICILLE | Cliquez ici |
| Chevalier | Traduction de baidu | Connaître la demande de poste | Cliquez ici |
| Chevalier | Films Douban | Base | Cliquez ici |
| Chevalier | Requête de localisation KFC | Pratique JSON | Cliquez ici |
Analyse HTML et articles réguliers
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Quasi-knight | Obtenez Fakeua | Analyse LXML | Cliquez ici |
| Quasi-knight | Picture 4K rampant | LXML et résoudre le problème des erreurs de codage | Cliquez ici |
| Quasi-knight | 58 | LXML et rampe de pagination | Cliquez ici |
| Quasi-knight | BS BS | BS initial | Cliquez ici |
| Quasi-knight | cas BS | BS pratique | Cliquez ici |
| Quasi-knight | Bases XPath | XPATH initial | Cliquez ici |
| Quasi-knight | analyse xpath | Pratiquez XPATH | Cliquez ici |
| Quasi-knight | Bases régulières | Règlement initial | Cliquez ici |
| Quasi-knight | Exercices réguliers | Règles pratiques | Cliquez ici |
| Quasi-knight | Curriculum vitae | Le petit complet complet | Cliquez ici |
brassard
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Le grand chevalier | bossjob | Niveau 1 Page rampant, peut ne pas être disponible | Cliquez ici |
| Le grand chevalier | Boule de double couleur | Tous sont des opérations de scracy | Cliquez ici |
| Le grand chevalier | image | Tous sont des opérations de scracy | Cliquez ici |
| Le grand chevalier | Politique du soleil | Tous sont des opérations de scracy | Cliquez ici |
| Le grand chevalier | Données de voiture Yi rampant | Avec JS Reverse, c'est juste une analyse de données JSON à grande échelle et à grande échelle | Cliquez ici |
| Le grand chevalier | Réseau de beauté scolaire | Tous sont des opérations de scracy | Cliquez ici |
| Le grand chevalier | NETEASE NOUVELLES | Tous sont des opérations de scracy | Cliquez ici |
| Le grand chevalier | 17k roman rampant | Tous sont des opérations de scracy | Cliquez ici |
Crawler asynchrone haute performance
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Chevalier | Rencontrez Flask | Connaissances de base | Cliquez ici |
| chevalier | Bases de la piscine de fil | Connaissances de base | Cliquez ici |
| Le grand chevalier | Meinv Image Batch rampant | Base | Cliquez ici |
| Le grand chevalier | Photo de célébrité rampant | Base | Cliquez ici |
| Le grand chevalier | Coroutine multitâche | Base | Cliquez ici |
| Le grand chevalier | Application de pool de threads | Base | Cliquez ici |
feapder
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Le chevalier du corbeau | Collecte de données Xiaohongshu | Utilisez le mode Air Feapder pour personnaliser le pipeline de stockage CSV. À l'avenir, plus de modes seront réécrits et d'autres fonctions seront ajoutées. Nous devons également ajouter des informations supplémentaires. | Cliquez ici |
Automation
sélénium
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Chevalier | Fonctionnement automatique de base | Opération d'automatisation de base | Cliquez ici |
| Chevalier | Connexion de simulation | Automatisation de pratique | Cliquez ici |
| Chevalier | Chaîne d'action et traitement IFREAM | Automatisation de pratique | Cliquez ici |
| Chevalier | Navigateur sans tête et anti-détection | pratique | Cliquez ici |
| chevalier | 12306 Connexion de simulation | Principalement indisponible | Cliquez ici |
| chevalier | damai.com | Principalement indisponible | Cliquez ici |
dramaturge
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| chevalier | Code Postal | Interrogez le code postal via l'adresse, utilisez la méthode de synchronisation, y compris les opérations d'attente et la sélection de différentes tables en fonction de la situation, et utilisez des pandas pour fonctionner sur des fichiers Excel en même temps | Cliquez ici |
| Le grand chevalier | Anti-rampe utilisant le navigateur local | Nous détectons parfois lors de l'utilisation de l'automatisation. Nous utilisons des navigateurs locaux pour les anti-rampes. Puisqu'il s'agit d'un navigateur local, notre statut de session et notre statut de cookie existent tous deux. C'est-à-dire que nous accédons directement au site Web auquel nous nous sommes connectés, ce qui est beaucoup plus pratique et ne nous oblige pas à créer le contexte du navigateur. | Cliquez ici |
| Le chevalier de la terre | Collecter des informations | La difficulté est que chaque site Web a des styles différents, toutes les données ne sont pas les mêmes et que le nombre est grand. Il est difficile d'écrire des règles régulières, et il est également difficile de gérer les asynchrones. L'entrepôt ne répertorie que 10 des pages, ce qui oblige l'écrivain à comprendre les règles régulières et le dramaturge asynchrone. | Cliquez ici |
| Le grand chevalier | Navigateur anti-détection | Créez un navigateur anti-détection via le fichier JS de Daniu, qui peut contourner la plupart des détections | Cliquez ici |
| Le chevalier de la terre | Qidian VIP Novel rampant | En contournant les anticlimages CSS des romans VIP Qidivais à travers des captures d'écran, les points de connaissance utilisés sont: les boîtes de positionnement, les captures d'écran, le glissement, le traitement des limites et la fusion de captures d'écran. Cette solution n'est pas la solution optimale, tout le monde est invité à ajouter | Cliquez ici |
Chapitre avancé
Cas complet
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| chevalier | Un certain site Web de poésie | Solution de code de vérification du code de vérification, de connexion et d'image --- ddddocr | Cliquez ici |
| Le grand chevalier | Explication linguistique | Utilisez Internet pour convertir le texte en langues, soutenez les langues chinoises, anglaises et coréennes | Cliquez ici |
| Le grand chevalier | B de la station complète | Vérifiez si l'utilisateur vous aime, tirez la liste des messages et extrait la liste similaire | Cliquez ici |
| Le chevalier de la terre | Un site Web vidéo | Téléchargement vidéo M3U8, résolvez la situation avec Key et sans clé, M3U8 Entrée de gamme et téléchargement multi-thread | Cliquez ici |
| Le chevalier de la terre | Ins Crawler | Pour l'extraction des paramètres de page et l'analyse des fichiers JSON | Cliquez ici |
| Le chevalier de la terre | Douyin Data rampe sur l'ensemble du site | Y compris le téléchargement de l'image vidéo, les commentaires rampant, les informations utilisateur rampant ... à l'heure actuelle, certaines interfaces ont également commencé la détection XB. Si vous devez utiliser l'interface détectée, vous devez ajouter XB pour obtenir les données. Réintégrez maintenant la signature. Vous pouvez trouver le fichier JS pour obtenir la signature dans GitHub, le mettre dans le même répertoire que le fichier Douyin et le nommer xb.js. UP fournit un référentiel de code open source sur GitHub. Le référentiel est marqué dans le code et peut être utilisé actuellement. | Cliquez ici |
| Le chevalier de la terre | Les données de Weibo rampent sur le site | Y compris la recherche d'utilisateurs, la recherche de publications, le téléchargement des commentaires, le téléchargement des albums utilisateur, la page d'accueil de l'utilisateur, les informations utilisateur ... | Cliquez ici |
| Niveau inconnu | Roue de reptile | Personnellement, l'encapsulation secondaire des méthodes de chenilles couramment utilisées est pratique pour le développement ultérieur | Cliquez ici |
sujet inversé JS
En-tête de demande ou du cryptage des données de réponse
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| chevalier | Nenniu Data | Demandez le cryptage d'en-tête, le cryptage du corps de réponse | Cliquez ici |
| chevalier | Index de divertissement | Introduction de base | Cliquez ici |
| chevalier | Données Yien | Cryptage du corps de réponse | Cliquez ici |
| chevalier | Quoi qu'il en soit | Cryptage du corps de réponse | Cliquez ici |
| Le grand chevalier | transaction publique FJS | Cryptage de paramètres obscurcis | Cliquez ici |
| Le grand chevalier | Le seul art | Code d'exécution dynamique JS | Cliquez ici |
| Le chevalier de la terre | Un site Web météo | Dynamic JS Dynamic Key Paramètre dynamique anti-lebug | Cliquez ici |
| Le chevalier de la terre | Un site de football | Cryptage multiple du corps de la demande, il est difficile de localiser l'emplacement crypté | Cliquez ici |
| Le chevalier de la terre | musique wangyiyun | Implémenter des données rampant sur l'ensemble du site | Cliquez ici |
| Le chevalier de la terre | transaction publique GDS | Paramètres déroutants, vous devez trouver des emplacements | Cliquez ici |
| Le chevalier de la terre | Une certaine traduction | Demander un décryptage de réponse au chiffrement n'est pas difficile | Cliquez ici |
| Le chevalier de la terre | Connectez-vous sur la station B | Mot de passe crypté RSA, la troisième génération de clics de texte peut être sélectionnée et les clics de texte peuvent être trouvés dans la section du code de vérification | Cliquez ici |
webpack
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Le chevalier de la terre | Mineraux de Chine | WebPack de base, algorithme de chiffrement de version standard, simple, peut être implémenté de différentes manières (Nodejs, Python et Decode) | Cliquez ici |
Tests environnementaux
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Le chevalier du corbeau | carnet rouge | Détection de l'environnement XHS XS, vous devez mettre des cookies et localstorage dans le fichier vous-même | Cliquez ici |
| Le chevalier du corbeau | bossjob | __zp_s ...__ Détection d'environnement, JS sont différents tous les jours, vous devez créer des environnements et modifier JS, il y a une détection de module, etc. | Cliquez ici |
| Le chevalier du corbeau | APE Man Studies Question 1 2023 | Modifiez par magie MD5 et AES pour supprimer certains points de miel et reconstituer l'environnement du navigateur | Cliquez ici |
| Le chevalier de la terre | Paramètres ele.me | Obtenez le paramètre BX_ET via le dramaturge | Cliquez ici |
| Le chevalier du corbeau | Paramètre anti-content de PDD | Ce n'est pas un environnement de réapprovisionnement, mais un algorithme de déduction. Le cryptage de PDD est probablement le même dans différents sites, et les valeurs de certains objets sont différentes. Les fonctions principales cryptées sont toutes logiques | Cliquez ici |
| Le chevalier de la terre | Mettre à jour les articles de recrutement de boss directs cliquez pour débloquer IP, donc j'en ai trouvé un en ligne | Ce cryptage de trajectoire de clics à sélection est la troisième génération de test extrême | Mise à jour dans le fichier boss |
cryptage WASM
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Le chevalier du corbeau | Une certaine compagnie aérienne | Le contenu de l'opération WASM réalise le chiffrement et la demande de décryptage des paramètres d'en-tête de cryptage Mise à jour du système Alibaba V2 Détection Alibaba System V3 Détection (acquisition automatique), de sorte que tous les paramètres de chiffrement ont été résolus | Cliquez ici |
Détection d'empreintes digitales du navigateur
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Le chevalier de la terre | Yi jiubi | Tout d'abord, il s'agit du corps de demande chiffré, suivi de la détection des empreintes digitales TLS. Actuellement, la demande de page d'accueil est adoptée à l'aide d'une bibliothèque tierce. | Cliquez ici |
Le code de vérification
Curseur
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Le grand chevalier | Curseur JD | Après avoir obtenu l'image, nous pouvons utiliser DDDDOCR pour identifier le curseur, puis générer la trajectoire et envoyer la demande. La trajectoire ici est écrite par le patron. Tout d'abord, préparez une référence, faites-la glisser manuellement de gauche à droite, puis une trajectoire de tremblement, puis épisser deux trajectoires (je ne sais pas pourquoi la trajectoire que je me divise n'a pas réussi, alors j'ai directement utilisé la trajectoire du boss) | Cliquez ici |
| Le grand chevalier | Alibaba 226 | Ce dramaturge de mise à jour est relativement simple à obtenir | Cliquez ici |
| Le grand chevalier | Feigua obtient le curseur de code de vérification | Ce dramaturge de mise à jour est relativement simple à obtenir | Cliquez ici |
Cliquez pour choisir
| Marque de difficulté | Nom du projet | Remplir | Navigation rapide |
|---|
| Le chevalier du corbeau | La troisième génération de points à choisir | Nous demandons l'interface pour obtenir des images en séquence en fonction de l'ordre de demande, et après avoir obtenu les informations d'image, nous l'envoyons à l'interface d'identification pour obtenir les coordonnées sélectionnées par point. Après avoir obtenu les coordonnées, nous convertissons les coordonnées et l'envoyons au JS pour générer la trajectoire. Après avoir obtenu la trajectoire, nous demandons l'interface pour obtenir le validation | Cliquez ici |
Histoire des étoiles
parrainer
Si vous pensez que cet entrepôt vous est utile pour apprendre des chenilles et des instructions inversées, vous êtes invités à parrainer l'auteur et à demander à l'auteur d'avoir une tasse de thé au lait ~! !
(Votre soutien peut rendre l'auteur heureux toute la journée?)