
Apprentissage pratique de l'utilisation des pages web pickpocket de BeautifulSoup
Récemment, un petit ami m'a toujours demandé d'utiliser Python pour faire du web crawling, mais l'IP est toujours bloquée, comment faire ? Aujourd'hui, nous allons nous pencher sur cette question. Tout d'abord, pour s'engager dans la collecte de données, il faut apprendre deux astuces :Analyse HTML + combinaison d'IP proxyLa première chose que vous devez savoir, c'est comment choisir la nourriture. C'est comme lorsque vous allez au marché pour acheter de la nourriture, vous devez être capable de choisir la nourriture (analyse syntaxique), mais vous devez aussi être capable de contourner les propriétaires d'étals (anti-blocage).
Fonctionnement de base de BeautifulSoup
Commencez par charger un outil lorsqu'il est à portée de main :
pip install beautifulsoup4 requests
Donnez un exemple de capture du prix d'une marchandise :
import requests
from bs4 import BeautifulSoup
N'oubliez pas d'utiliser les proxies ipipgo ici
proxies = {
'http' : 'http://username:password@gateway.ipipgo.com:9020',
'https' : 'http://username:password@gateway.ipipgo.com:9020'
}
resp = requests.get('https://example.com/products', proxies=proxies)
soup = BeautifulSoup(resp.text, 'lxml')
prices = soup.select('.price-tag')
for price in prices : print(price.text.strip)
print(prix.texte.strip())
Attention à cette fosse :De nombreux sites détectent le User-Agent, n'oubliez pas de l'ajouter dans les en-têtes, sinon l'utilisation de proxys est inutile.
La bonne façon d'ouvrir un proxy IP
Pourquoi utiliser le proxy d'ipipgo ? Il suffit de regarder ce tableau comparatif :
| prendre | Agent général | proxy ipipgo |
|---|---|---|
| Site web de commerce électronique | 10 minutes pour sceller | Stable pendant 8 heures + |
| médias sociaux | CAPTCHA fréquents | Réduction de Captcha 70% |
| acquisition haute fréquence | fréquence élevée de déconnexion | Rotation intelligente de la propriété intellectuelle |
C'est là que le bât blesse.Conseils pour la rotation des PIVoici une liste des adresses IP les plus populaires au monde : ipipgo, ipipgo, ipipgo, ipipgo, ipipgo.
Guide pratique pour éviter la fosse
Vous êtes-vous déjà trouvé dans l'une de ces situations ?
Exemple typique de rapport d'erreur
ConnectionError : HTTPSConnectionPool...
Il y a trois choses à vérifier à ce stade :
1. l'adresse du proxy n'est pas mal écrite (en particulier le numéro de port)
2) Le mot de passe du compte a-t-il expiré ?
3. si l'authentification SSL est activée sur le site cible
Voici une astuce : dans requests.get() ajouterverify=Falserépondre en chantanttimeout=10ce qui résout le problème SSL de 80%.
L'expérience du vieil oiseau
Citez quelques endroits où il est facile de planter sa tête :
- N'utilisez pas l'analyseur html.parser par défaut, changez l'analyseur lxml pour qu'il soit deux fois plus rapide !
- Rencontrer des données chargées dynamiquement avec Selenium + l'agent mobile d'ipipgo
- Nettoyage régulier des cookies, recommandé toutes les 50 requêtes
Foire aux questions QA
Q : Que dois-je faire si j'obtiens toujours une erreur 403 ?
A:Three points of troubleshooting : 1) the request header does not have User-Agent 2) IP is tagged 3) the frequency of visits is too high. Il est recommandé d'utiliser le proxy résidentiel d'ipipgo, le degré de déguisement est plus élevé.
Q : Que dois-je faire si les données ne sont pas entièrement chargées ?
R : 80% ont rencontré un rendu dynamique, avec cette combinaison : Selenium + headless browser + ipipgo's dynamic IP pool.
Q : Comment puis-je obtenir une bonne affaire sur les proxies d'ipipgo ?
R : Les nouveaux utilisateurs bénéficient d'abord d'une période d'essai de 3 jours, les collections de lots choisissent le package Enterprise Edition, n'oubliez pas d'utiliser le code promo BS2023 pour bénéficier d'une réduction de 10%.
Je vais vous dire ce qui me préoccupe.
S'engager dans la collecte de données s'apparente à une guérilla, il ne faut pas s'attendre à ce qu'un ensemble de configurations fasse le tour du monde. Différents sites utilisent différentes stratégies, l'essentiel est de tester davantage d'ajustements. Récemment trouvé ipipgoRoutage intelligentLa fonction est très parfumée, peut automatiquement correspondre au nœud le plus rapide, l'efficacité de la collecte est directement doublée.
Un dernier rappel : n'utilisez pas de chinois dans les en-têtes ! N'utilisez pas de chinois ! N'utilisez pas de chinois ! (Il est important de le répéter trois fois). Certains sites détecteront ce problème et afficheront un code de pourcentage à traiter avant l'envoi.

