
Tout d'abord, où se situe exactement la capture des données de recrutement ?
Récemment, beaucoup d'amis qui s'occupent du système RH se sont plaints à moi, disant que le crawler pour attraper les informations d'emploi d'Indeed est toujours interdit. Un ami est encore pire, pendant trois jours consécutifs, le segment IP de la société a été occulté, et maintenant tout le bureau sur Indeed doit utiliser le trafic de téléphone mobile. En fait, cette affaire est franchement le mécanisme anti-escalade du site dans l'étrange, en particulier comme Indeed une plate-forme si grande, la fréquence des visites et les caractéristiques IP de la sensibilité très sensible.
Il y a juste trois nids de poule dans lesquels le développeur moyen a tendance à s'engouffrer :
1. visites à haute fréquence sur un seul IP (20 captures en 10 secondes)
2. l'en-tête de la demande est trop distinctif
3. l'état de connexion reste trop longtemps non mis à jour
Exemples de code typiques
import requests
for page in range(1,100) : response = requests.get(f "{page10}")
response = requests.get(f "https://indeed.com/jobs?q=developer&start={page10}")
Si vous n'ajoutez pas de délai ou ne changez pas d'IP, attendez d'être bloqué...
Deuxièmement, comment le proxy IP est-il devenu une bouée de sauvetage ?
En clair, il s'agit de trouver un "sosie" pour envoyer une demande à votre place. C'est comme faire la queue pour acheter du thé au lait, et à chaque fois que vous arriverez au guichet, vous serez remplacé, et l'employé ne vous reconnaîtra pas du tout. Mais voici une porte d'entrée - la qualité des proxy IP sur le marché varie, utilisez le mauvais au lieu de mourir plus vite.
| Agent général | Agents à forte valeur ajoutée |
|---|---|
| La véritable IP sera dévoilée | Masquer complètement les profils des utilisateurs |
| temps de réponse lent | Délai moyen <200ms |
| courte durée de survie | Remplacement automatique dynamique |
Il va falloir que je fasse sauter celui-ci.Proxy résidentiel dynamique pour ipipgoLa dernière fois que j'ai testé leur service, j'ai attrapé Indeed pendant 8 heures sans déclencher de bannissement. Le secret réside dans la commutation automatique des numéros ASN pour chaque demande, ce qui fait croire au site web qu'il s'agit d'un utilisateur réel naviguant dans une région différente.
Troisièmement, la main pour vous apprendre à correspondre au programme de collecte de l'agent
En Python, par exemple, l'essentiel n'est pas la complexité du code, mais la mise en place de la configuration du proxy. Rappelez-vous les trois points clés :
1. changement d'adresse IP pour chaque demande
2. randomisation des agents-utilisateurs
3. fixer des intervalles de demande raisonnables
import random
import time
from itertools import cycle
Le format des proxies fournis par ipipgo
proxies_pool = [
'http://用户:密码@gateway.ipipgo.com:8001',
'http://用户:密码@gateway.ipipgo.com:8002', ...
... Préparer au moins 20 portails
]
proxy_cycle = cycle(proxies_pool)
headers_list = [
{'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36'},
{'User-Agent' : 'Mozilla/5.0 (Macintosh ; Intel Mac OS X 12_4)'}, ...
... Préparer 10 jeux d'en-têtes de navigateur différents
]
for page in range(1, 51) : proxy = next(proxy_cycle).
proxy = next(proxy_cycle)
headers = random.choice(headers_list)
en-têtes = random.choice(headers_list)
response = requests.get(
url=f "https://indeed.com/jobs?q=developer&start={page10}", proxies={"http" : proxy, "https" : proxy}
proxies={"http" : proxy, "https" : proxy},
headers=headers,
timeout=10
)
time.sleep(random.uniform(1.5, 3.5)) Les délais aléatoires sont importants !
except Exception as e.
print(f "Erreur lors de la capture de la page {page} : {str(e)}")
IV. pièges communs AQ
Q : Le délai d'attente de l'adresse IP du proxy s'écoule-t-il lorsque je l'utilise ?
R : 80% utilise un proxy de centre de données, vous devez changer pour une IP résidentielle. ipipgo est recommandé.Ensemble dynamique d'agents résidentielsIls disposent d'un mécanisme de remplacement automatique des adresses IP, de sorte qu'il n'est pas nécessaire de maintenir manuellement le pool d'adresses IP.
Q:Pourquoi le code reste-t-il bloqué alors que l'adresse IP a été modifiée ?
R : Vérifier à trois endroits :
1) Y a-t-il un changement aléatoire de la langue d'acceptation dans l'en-tête de la requête ?
2. les cookies ne sont pas propres
3. si les empreintes digitales TLS sont aléatoires ou non
Q : Quel est le volume d'IP nécessaire par jour pour être suffisant ?
R : D'après nos données de mesure, il s'agit bien d'une prise :
- ≤ 120 demandes par heure → 50 rotations IP requises
- Durée de vie 8 heures par jour → Nous recommandons d'acheter le pack 500 IP d'ipipgo !
V. Dire la vérité
Proxy IP cette chose, bon marché ne peut vraiment pas être utilisé. J'ai déjà acheté un abonnement mensuel de 9,9, et le taux de duplication d'IP était aussi élevé que 80%, alors autant ne pas l'utiliser. Plus tard, je suis passé au pool de proxy exclusif d'ipipgo, bien que le prix soit plus élevé, mais il est stable. En particulier, leSystème de surveillance de la survie IPLe fait qu'il élimine automatiquement les nœuds périmés est une véritable planche de salut.
Les bons fournisseurs de services devraient fournir des API pour obtenir dynamiquement la dernière adresse de proxy, comme le SDK client d'ipipgo qui est directement intégré avec un bon remplacement automatique de la logique, beaucoup plus fort que leur propre pliage aveugle.

