
Wenn Crawler auf Anti-Crawler treffen, helfen Fettvermittler bei der Rettung
Wenn Sie ein Crawler sind, dann wissen Sie, dass Nokogiri der beste Parser für Webseiten in der Ruby-Community ist. Aber in letzter Zeit bekomme ich viele Beschwerden von Leuten, die sagen, dass sie gerade ein Crawler-Skript geschrieben haben, das ein paar Tage lang läuft und dann von der Zielseite verbannt wird, was so ist, als würde man Hot Pot ohne Dip-Sauce essen - fast lustig.
Letzte Woche hat ein Kumpel ein Preisvergleichssystem entwickelt. Als er den Preis einer E-Commerce-Plattform abfragte, wurden drei aufeinanderfolgende Server-IP-Wechsel blockiert. Dann ließ ich ihn versuchenDynamischer Wohnsitz-Proxy für ipipgoDie guten Jungs werden an derselben Stelle wieder lebendig. Der Trick dabei ist eigentlich ganz einfach:Mit einer echten IP-Adresse auf Benutzerebene kann die Website nicht erkennen, ob es sich um eine Maschine oder eine echte Person handelt..
Hands-on mit Nokogiris Weste.
Schauen wir uns zunächst eine einfache Konfigurationsvorlage an (denken Sie daran, Ihren_api_key durch den echten Token zu ersetzen, den das ipipgo-Backend erhält):
erfordern 'nokogiri'
erfordern 'net/http'
Abruf des dynamischen ipipgo-Proxys
def fetch_proxy
api_url = "https://api.ipipgo.com/v1/proxy?key=your_api_key&type=rotating"
Antwort = Net::HTTP.get(URI(api_url))
JSON.parse(response)['proxies'].sample
end
proxy = fetch_proxy
uri = URI('https://target-site.com')
Net::HTTP.start(uri.host, uri.port, proxy_addr: proxy['ip'], proxy_addr.
proxy_addr: proxy['ip'],
proxy_port: proxy['port'],
proxy_user: proxy['username'],
proxy_pass: proxy['password']) do |http|
doc = Nokogiri::HTML(http.get(uri.path).body)
Nachfolgende Parsing-Operationen...
end
Hier sind ein paarLeitfaden zur Vermeidung der Grube::
- Am besten ist es, für jede Anfrage einen neuen Proxy zu verwenden (die automatische Rotationsfunktion von ipipgo ist dabei sehr hilfreich)
- Achten Sie auf die Art des Vermittlungsvertrags, auf E-Commerce-Seiten mit einer höheren Erfolgsquote von Wohnungsvermittlern
- Setzen Sie die Zeitüberschreitung nicht auf mehr als 15 Sekunden, da sonst die Effizienz der Sammlung beeinträchtigt wird.
Beispiele für geschmacklose Geschäfte in der realen Welt
Szenario 1: Überschreitung der Frequenzgrenze
Ich führe eine Meinungsüberwachung für einen Kunden durch, der ein bestimmtes Forum stündlich nach neuen Beiträgen durchsuchen muss. Verwenden Sie ipipgosPaket zur mengenmäßigen AbrechnungDer zufällige Wechsel des User-Agents im Request-Header mit Proxy-IP-Pool führte zu einem Einfrieren der Erfolgsquote von 37% auf 92%.
Szenario 2: Knacken der Geoblockade
Es gibt ein Projekt für einen lokalen Lebensservice, bei dem Daten von Händlern in verschiedenen Städten gesammelt werden müssen. Durch ipipgo'sStandortagenten auf StadtebeneDarüber hinaus kann es IP-Adressen in bestimmten Regionen genau ermitteln und so die geografischen Filtermechanismen von Websites erfolgreich umgehen.
| Anti-Crawl-Typ | Antwortprogramm | Empfohlener Agententyp |
|---|---|---|
| IP-Frequenzbegrenzung | Dynamische Rotation + Anforderungsintervall | Agenten für Rechenzentren |
| geografische Abschirmung | Statische, dauerhafte IP | Wohnungsvermittler |
Fünf Fragen, die Sie unbedingt stellen sollten
F: Verlangsamt die Proxy-IP die Erfassungsgeschwindigkeit?
A: Die Premium-Leitungen von ipipgo reagieren im Durchschnitt innerhalb von 800 ms, viel schneller als ein erneuter Versuch nach einer Blockierung!
F: Wie oft sollte man die IPs wechseln?
A: hohe Anti-Climbing-Website wird empfohlen, jede Anfrage zu ändern, kann normale Website in 5 Minuten geändert werden.
F: Was sollte ich tun, wenn ich auf eine HTTPS-Website stoße?
A: ipipgo's Proxy unterstützt SSL-Verbindungen, denken Sie daran, https://开头 im Code zu verwenden.
F: Wie verwalte ich Agenten mit mehreren gleichzeitig geöffneten Crawler-Threads?
A: Verwenden Sie die API von ipipgo, um Proxy-Pools in großen Mengen zu erhalten, wobei jeder Thread einzeln zugewiesen wird
F: Was ist der Unterschied zwischen einem freien Agenten und einem bezahlten Agenten?
A: Sagen wir es so: Kostenlose Proxys sind wie öffentliche Toiletten - jeder kann sie benutzen, aber wenn es an der Zeit ist, sie zu benutzen, kann es sein, dass Sie keinen Boxenstopp finden. Die exklusiven Proxys von ipipgo sind das Äquivalent einer privaten Toilette, die sowohl sauber als auch stabil ist.
Sagen Sie etwas, das von Herzen kommt.
In der Tat, mit dem Proxy-IP mit dem Spiel zu öffnen, das Plug-in wie, der Schlüssel zu handeln natürlich. Nicht das ganze Skript klicken und greifen, ist das Ergebnis der IP Raum IP zu verwenden, ist dies nicht offensichtlich, um Menschen zu sagen, Sie sind ein Roboter. ipipipgoPool von gemischten WählernDie Möglichkeit, IP für Privathaushalte, IP für Rechenzentren und mobiles IP zu mischen, ist ein Spiel auf hohem Niveau.
Ein letzter Ratschlag: Seien Sie beim User-Agent nicht zu faul! Ich habe Leute gesehen, die Nokogiri zum Abgreifen von Daten verwenden, und alle User-Agents aller Anfragen zeigen Ruby/nethttp, also warten sie nur darauf, gesperrt zu werden. Wenn Sie einen ipipgo-Agenten verwenden, denken Sie daran, ein zufälliges User-Agent-Array in den Code einzufügen, das ist die Grundqualität professioneller Spieler.

