
Praktische Übungen zur Verwendung von PySpider zum Aufhängen von Proxies
Was ist die größte Angst der Crawler? Eine blockierte IP zu haben, gehört definitiv zu den drei größten Ängsten! Heute wollen wir darüber sprechen, wie man einem Crawler in PySpider eine Weste anlegt - mit einer Proxy-IP, um ihn sicher zu halten. Lassen Sie sich nicht von den komplizierten Anleitungen einschüchtern, die Konfiguration des Proxys ist einfacher als Nudeln kochen.
Warum muss ich eine Proxy-IP verwenden?
Um eine Kastanie: Sie gehen in den Supermarkt jeden Tag, um den Sonderpreis von Eiern zu greifen, drei aufeinanderfolgende Tage, um das gleiche rote Kleid zu tragen, der vierte Tag der Sicherheitskräfte direkt zu stoppen Sie außerhalb des Kindes. Proxy IP ist ein Schrank von Kleidung für die Crawler, jedes Mal, wenn Sie gehen und ändern zu tragen. Mit ipipgo's Proxy, ist es gleichbedeutend mit der Anmietung eines Bekleidungsgeschäftes direkt, mit "Kleidung" aus 200+ Ländern auf der ganzen Welt zur Auswahl.
Proxy-Konfiguration in drei Schritten
先导入必备工具包
from pyspider.libs.base_handler import
class MyCrawler(BaseHandler):
crawl_config = {
'proxy': 'http://username:password@proxy_ip:port', 这里填ipipgo提供的代理地址
'headers': {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}
}
@every(minutes=2460)
def on_start(self):
self.crawl('http://目标网站.com', callback=self.index_page)
Höhepunkte:Wenn die Proxy-Adresse im ipipgo-Backend abgerufen wird, denken Sie daran, das HTTP/HTTPS-Protokollformat auszuwählen. Die Verwendung einer dynamischen Wohn-IP wird empfohlenDynamic Residential (Standard) Paketist mit 7,67 $/GB besonders einsteigerfreundlich.
Automatische Umschaltung der dynamischen IP
Ich möchte die automatische Änderung der IP pro Anfrage zu implementieren, mit ipipgo's API-Schnittstelle zu greifen und zu verwenden:
import random
def get_proxy():
这里调用ipipgo的API接口
proxy_list = ["ip1:port","ip2:port","ip3:port"]
return random.choice(proxy_list)
class Handler(BaseHandler):
def make_request(self, url, callback):
return Request(url,
callback=callback,
proxy=get_proxy()) 每次请求自动换装
Leitfaden zur Vermeidung der Grube (QA-Sitzung)
F: Was sollte ich tun, wenn der Agent plötzlich ausfällt?
A: ipipgo Client kommt mit Heartbeat-Erkennung, festgestellt, dass die IP hängt automatisch schneiden die neue IP, mit dem Mobiltelefon automatisch eine Verbindung zu WiFi einen Grund.
F: Wie kann ich testen, ob der Proxy funktioniert?
A: Fügen Sie dem Crawler einen Testschritt hinzu:
self.crawl('http://httpbin.org/ip', callback=self.check_ip)
def check_ip(self, response):
print(response.text) 这里显示的IP应该变成代理IP
Wie man ein Paket auswählt, ohne die Mine zu betreten
| Geschäftsart | Empfohlene Pakete | Anwendbare Szenarien |
|---|---|---|
| Hochfrequenz-Datenerfassung | Statische Häuser | 35/IP kann einen ganzen Monat lang verwendet werden, geeignet für Langzeitüberwachung |
| Enterprise Crawler | Dynamischer Wohnungsbau (Unternehmen) | 9,47/GB mit VIP-Kanal, Daten schneller abrufen! |
| Einzelne kleine Projekte | Dynamisches Wohnen (Standard) | 7,67 Kohlpreis, Erste Wahl für die Praxis |
最后叨叨句:别在免费代理上浪费时间,之前我测试过,10个免费代理有8个是坏的。ipipgo的TK专线实测不到200ms,跟本地网络差不多快。他们客服还能给定制方案,上次有个兄弟要爬东南亚电商数据,直接给配了跨境专线。

