
Apprentissage pratique de l'utilisation de BS4 pour récupérer des données sans bloquer le numéro.
Que craignez-vous le plus lorsque vous faites du crawling, l'IP bloquée est certainement dans le top trois ! Aujourd'hui, nous allons voir comment utiliser Beautifulsoup4 (plus tard appelé BS4) pour capturer des données avec la fonctionipipgoLe service proxy de votre domicile a pour but de conserver votre IP. Ne faites pas toutes ces bêtises, allez droit au but.
Ne pas marcher sur les nids-de-poule en préparant l'environnement
Installez d'abord ces bibliothèques essentielles :
pip install beautifulsoup4 requests fake-useragent
Veillez à ne pas utiliser une version trop ancienne des requêtes, il est recommandé d'utiliser la version 2.28 ou supérieure. Si vous rencontrez des erreurs d'installation, essayez d'ajouter la source miroir de Tsinghua :
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple nom du paquet
Un cours accéléré sur l'utilisation de base du BS4
Donnez un exemple de rattrapage des prix du commerce électronique :
from bs4 import BeautifulSoup
import requests
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36'}
url = 'http://example.com/product'
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'lxml')
price = soup.select_one('.product-price').text.strip()
Il y a trois points essentiels :
- Mascarade de l'agent utilisateurIl faut le faire, et la réduction à l'essentiel sera bloquée.
- Il est recommandé d'utiliser lxml, qui est trois fois plus rapide que html.parser.
- select_one est meilleur que find et prend en charge la syntaxe des sélecteurs CSS.
Proxy IP accès au monde réel
L'aversion pour l'IP unique est tôt ou tard terminée, voici comment vous apprendre à la prendreipipgodu pool d'agents :
proxies = {
'http' : 'http://用户名:密码@gateway.ipipgo.com:9020',
'https' : 'http://用户名:密码@gateway.ipipgo.com:9020'
}
try.
response = requests.get(url, headers=headers, proxies=proxies, timeout=8)
except requests.exceptions.ProxyError :
print("Proxy exception, automatically switching to a new IP...")
Ici, vous pouvez accéder à l'API d'ipipgo pour changer l'IP automatiquement.
Note lors de l'utilisation du proxy exclusif d'ipipgo :
| paramètres | valeur de l'exemple |
|---|---|
| adresse du serveur | passerelle.ipipgo.com |
| Gamme de ports | 9020-9030 |
| Méthode d'authentification | Nom d'utilisateur + mot de passe |
Un guide pour éviter les pièges des projets réels
Ces leçons ont été tirées récemment en aidant un client à attraper un certain site de comparaison de prix :
- Il faut dormir aléatoirement de 1 à 3 secondes par demande, ne pas utiliser d'intervalle fixe.
- Passez immédiatement à un nouveau nœud dans ipipgo lorsque vous rencontrez un captcha.
- Les données importantes sont vérifiées deux fois à l'aide de xpath afin d'éviter toute modification de la structure de la page.
Foire aux questions QA
Q : Que dois-je faire si l'adresse IP du proxy est soudainement indisponible ?
A:Check the error type in the "Connection Log" in the background of ipipgo, if it is 407 error, it means that the authentication information is wrong, and if it is 403, it is recommended to switch the data centre node.
Q : Comment puis-je optimiser mon site en cas de ralentissement de l'exploration ?
R : Mettez les multiples IP proxy d'ipipgo dans la file d'attente et utilisez des bibliothèques de requêtes asynchrones (telles que aiohttp) pour les traiter simultanément, ce qui permet d'accélérer la vitesse de 5 à 8 fois.
Q : Que dois-je faire si je rencontre une protection Cloudflare ?
R : Dans cette situation, il faut : 1. remplacer le proxy à forte réserve 2. ajouter l'en-tête de l'empreinte digitale du navigateur 3. utiliser le pool d'adresses IP résidentielles d'outre-mer d'ipipgo. Trois coups de pinceau peuvent suffire à briser le système.
Enfin, un conseil : n'essayez pas de faire des économies avec des agents libres, le léger est une perte de données, le lourd est une marque anti-escalade. Bien que l'utilisation du proxy d'entreprise d'ipipgo soit payante, elle est meilleure que les autres.Taux de réussite élevé des demandesetLes pools d'adresses IP sont mis à jour rapidementIl est particulièrement adapté aux scénarios qui nécessitent de capter des données de manière régulière pendant une longue période. Les nouveaux utilisateurs n'oublient pas d'obtenir 3G de trafic d'expérience, ce qui est suffisant pour les tests.

