IPIPGO proxy ip Comment configurer l'ip du proxy dynamique de scrapy ? Le middleware de téléchargement personnalisé en action

Comment configurer l'ip du proxy dynamique de scrapy ? Le middleware de téléchargement personnalisé en action

Tout d'abord, l'intergiciel proxy Scrapy ne sert finalement à rien. Les frères Crawler devraient avoir rencontré cette situation : il suffit d'exécuter quelques minutes du programme, le site cible vous donnera IP bloqué à la mort. À ce moment-là, le proxy dynamique IP est un sauveur, comme jouer à un jeu d'ouvrir la résurrection illimitée hang, a été scellé automatiquement changer le nouveau gilet pour continuer à faire. ...

Comment configurer l'ip du proxy dynamique de scrapy ? Le middleware de téléchargement personnalisé en action

一、Scrapy代理中间件到底有啥用?

搞爬虫的兄弟应该都遇到过这种情况:刚跑几分钟程序,目标网站就给你IP封得死死的。这时候动态代理IP就是救命稻草,好比打游戏开无限复活挂,被封了自动换新马甲继续干。

Scrapy自带的代理设置太基础,应付不了复杂场景。咱们得自己写个Télécharger le logiciel médiateur,这玩意儿就像快递公司的调度中心,能拦截每个请求,偷偷把快递员(请求)的工服(IP地址)给换了。

二、手把手造轮子:动态代理中间件

先准备个靠谱的代理池,这里用ipipgo的动态住宅代理举例。他们家的API返回格式长这样:

{
  "proxy": "123.45.67.89:8888",
  "expire_time": 1800
}

Un nouveau.middlewares.py文件,核心代码也就20行:

import random
import requests
from scrapy import signals

class DynamicProxyMiddleware:
    def __init__(self, api_url):
        self.api = api_url + "?apikey=YOUR_API_KEY"
        
    @classmethod
    def from_crawler(cls, crawler):
        return cls(
            api_url=crawler.settings.get('IPIPGO_API')
        )

    def process_request(self, request, spider):
         捞个新鲜IP
        resp = requests.get(self.api)
        proxy = f"http://{resp.json()['proxy']}"
         重要!设置认证信息
        request.meta['proxy'] = proxy
        request.headers['Proxy-Authorization'] = 'Basic ' + base64.b64encode(b'username:password').decode()

三、配置文件的秘密参数

existentsettings.py里激活咱们的中间件:

DOWNLOADER_MIDDLEWARES = {
    'your_project.middlewares.DynamicProxyMiddleware': 543,
}
IPIPGO_API = "https://api.ipipgo.com/getProxy"   官方接口地址

Attention à ces deux nids-de-poule :

1. 优先级数字别乱填,要比默认的HttpProxyMiddleware(750)小
2. les informations relatives à l'accréditation记得换成ipipgo后台给的账号密码

IV. guide pour éviter les pièges sur le terrain

最近帮客户部署时遇到的真实问题:

symptomatique méthode régler un problème
连续返回407错误 检查Basic认证编码是否正确
La durée de survie d'un IP est trop courte 在API参数加&duration=600延长有效期
目标网站检测到WebDriver 开启ipipgo的header伪装功能

V. Questions rapides et réponses aux questions fréquemment posées

Q : Que dois-je faire si l'adresse IP de mon proxy est souvent invalide ?
R : L'offre résidentielle dynamique d'ipipgo comprend les éléments suivantsAbsence de commutation automatique机制,建议把API调用频率设为每秒3-5次,他们家的IP池够大,经得起折腾。

Q : Ralentissement soudain du crawler ?
A:检查是否开了DEMANDES_CONCURRENTES并发控制,建议配合ipipgo的Optimisation régionale功能,把代理节点选在目标服务器所在地。

Q:需要处理CAPTCHA验证码?
R : L'activer dans la console ipipgo智能验证码绕过服务,这个要企业版套餐才支持,普通用户建议降低请求频率。

最后说个冷知识:用动态代理别开COOKIES_ENABLED,不然网站会发现不同IP用同一套cookie,立马露馅!如果业务必须带cookie,记得搭配ipipgo的maintien de la session功能,他们叫Sticky Session,能保证特定时间段内IP不变。

Cet article a été initialement publié ou compilé par ipipgo.https://www.ipipgo.com/fr/ipdaili/47701.html

scénario d'entreprise

Découvrez d'autres solutions de services professionnels

💡 Cliquez sur le bouton pour plus de détails sur les services professionnels

Vente de fin d'année de nouvelles IP dynamiques 10W+ pour les États-Unis

Fournisseur professionnel de services d'IP proxy étrangers-IPIPGO

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous contacter

Nous contacter

13260757327

Demande de renseignements en ligne. QQ chat

Courriel : hai.liu@xiaoxitech.com

Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
Suivre WeChat
Suivez-nous sur WeChat

Suivez-nous sur WeChat

Haut de page
fr_FRFrançais