donker proxyscrape logo

How To Use Proxies To Rotate IP Addresses In Python? 5 Easy Steps In 2024

Hoe doe je dat?, Proxies, Python, 02-02-20225 min gelezen

Inhoudsopgave

Wanneer je een proxy gebruikt, maak je niet direct verbinding met de doelserver, maar stuur je je verzoek naar de proxy server die het evalueert en een antwoord terugstuurt. Proxies heeft veel voordelen, zoals het verbergen van je echte IP-adressen, het omzeilen van filters, censuur, enz. 

Het is soms moeilijk om geavanceerd webscrapen uit te voeren omdat er meerdere verzoeken worden verzonden vanaf hetzelfde IP-adres. Webscrapers hebben vaak het probleem dat ze geblokkeerd worden door websites die ze scrapen. Maar ze kunnen veel technieken gebruiken om te voorkomen dat ze geblokkeerd worden, zoals
  • Roterende IP-adressen
  • Browsers zonder kop gebruiken
  • De crawlingsnelheid verlagen,
  • Gebruik proxies

Met een proxy rotator kun je de meeste anti-scrapmaatregelen omzeilen. Je kunt het ook gebruiken om eventuele snelheidsbeperkingen op de doelwebsite te omzeilen en met succes gegevens te extraheren. Maar wat is een roterende proxy? Het is een proxy die een nieuw IP-adres toewijst voor elke verbinding uit de proxy pool. Dit betekent dat je 1000 verzoeken naar een willekeurig aantal websites kunt sturen door een script te starten en 1000 verschillende IP-adressen te krijgen.

Dit artikel helpt je te begrijpen hoe je proxies kunt gebruiken om IP-adressen te roteren in python.

Hoe Proxies gebruiken om IP-adressen te roteren in Python

Je kunt een lijst met vrije proxies scrapen en deze opslaan in een tekstbestand met de naam list_proxy.txt. Je kunt dan de onderstaande stappen volgen om IP-adressen te roteren in Python.

Bibliotheken importeren

Je moet de requests module van Python importeren met het onderstaande commando.

importverzoeken

Als de module niet is geïnstalleerd in uw omgeving, kunt u deze installeren met het onderstaande commando.

pip installeert aanvragen

Een functie maken

Je moet een send_request functie maken die twee parameters aanneemt, namelijk session en proxy. Het is beter om een HTTP proxy te gebruiken omdat de meeste gratis proxies het HTTPS protocol niet gebruiken. We zullen try-except blokken gebruiken omdat de meeste vrije proxies niet werken omdat ze geblokkeerd zijn.
def send_request(session, proxy):
   try:
       response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
       print(response.json())
   except:
       pass

Het .txt-bestand lezen

Hier komt het belangrijkste deel van de code. Je moet je list_proxy.txt bestand inlezen en opslaan in de variabele met de naam proxies zoals hieronder getoond.

Als __name__ == "__main__":
  with open('list_proxy.txt', 'r') as file:
      proxies = bestand.readlines()

Gebruik een For-lus

Je moet de requests module gebruiken om een sessie aan te maken in Python. In de onderstaande code hebben we een for-lus gebruikt om door de proxy te lussen. Vervolgens hebben we de sessie en de proxy doorgegeven aan de functie send_request. 

met requests.Session() als sessie:
  for proxy in proxies:
       send_request(session, proxy)

Het script uitvoeren

Je kunt het script uitvoeren en de uitvoer zien zoals hieronder. Je krijgt een lange lijst met proxies , maar onthoud dat ze niet zullen werken. 

python rotateproxy.py

Je hele code wordt als:

import requests


def send_request(session, proxy):
   try:
       response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
       print(response.json())
   except:
       pass


if __name__ == "__main__":
   with open('list_proxy.txt', 'r') as file:
       proxies = file.readlines()

   with requests.Session() as session:
       for proxy in proxies:
           send_request(session, proxy)

Tips om een Proxy rotator te bouwen

Hieronder staan enkele tips om proxies te roteren in Python wanneer je een roterende proxy gebruikt.

Gebruik betrouwbare, gratis Proxy diensten

De meeste beschikbare gratis proxy diensten zijn overbelast, wat leidt tot onverwachte crashes en frustrerende vertragingen. Daarom moet je, als je van plan bent om voor gratis proxies te gaan, controleren of ze voldoen aan je scraping-behoeften zonder noemenswaardige drawdowns te veroorzaken.

De meeste gratis proxies zijn geldig voor een beperkte tijd, dus je kunt je eigen logica in Python bouwen die de gratis proxy lijstrotator kan roteren met werkende IP-adressen. Op deze manier krijg je geen onderbrekingen tijdens het webscrapen. 

Gebruik geen voorspelbare Proxy IP-adressen

Je moet voorkomen dat je IP-adressen gebruikt die een bepaalde volgorde of een voorspelbare indeling hebben, zoals behorend tot dezelfde groep. Dit komt omdat de meeste anti-scraping tools gemakkelijk de verzoeken kunnen detecteren die vanaf dergelijke IP-adressen worden verzonden. Je moet bijvoorbeeld afzien van het gebruik van de volgende reeks roterende IP-adressen omdat dit snel een rode vlag zal opwerpen.

103.243.132.11

103.243.132.12

103.243.132.13

103.243.132.14

Overweeg een eersteklas Proxy service

De gratis proxy IP-rotators zijn onveilig en traag. Ze zijn dus niet geschikt voor geavanceerde en grootschalige web scraping-projecten. Met behulp van goede premium proxies kunt u een service van hoge kwaliteit krijgen en duizenden webpagina's scrapen zonder blokkades of onderbrekingen te ervaren. 

Om een eersteklas proxy service te gebruiken, moet je een paar dollar betalen en een provider nemen die aan je gegevensextractiebehoeften voldoet en je privacy garandeert.

Ga voor Elite Proxies

Hieronder staan drie hoofdcategorieën van proxies op het internet.

  • Elite Proxies
  • Anonieme Proxies
  • Transparant Proxies
Elite proxies zijn de beste optie om te overwegen onder deze proxies omdat ze detecties kunnen voorkomen en beperkingen kunnen omzeilen. Je kunt alleen de REMOTE_ADDR header versturen met een elite proxy terwijl je de andere headers leeg houdt. Op deze manier kun je optimale privacy bereiken met deze proxies.
Aan de andere kant onthult een transparante proxy je IP-adresgegevens en verstuurt je echte IP via de HTTP_VIA-header en HTTP_X_FORWARDED_FOR-header. De anonieme proxy onthult je echte IP-adres niet. Het verstuurt het IP-adres van proxyof laat het leeg.

IP-rotatie combineren met User Agent-rotatie

Je kunt IP-rotatie gebruiken om meerdere IP-adressen te roteren en detectie te vermijden. Sommige anti-scrapingmaatregelen kunnen dergelijke activiteiten echter identificeren en je blokkeren voor het verzamelen van gegevens. Daarom moet je naast het roteren van IP-adressen ook user agents roteren om je kansen op succes te vergroten. 

FAQ's:

1. How to use proxies to rotate IP addresses using python?
Met de hulp van python library requests kun je gemakkelijk proxies roteren. Download eerst de lijst met vrije proxies van de website ProxyScrape, maak vervolgens een functie die je kunt gebruiken om het hele IP-rotatieproces uit te voeren; gebruik ten derde de leesfunctie om de gedownloade vrije proxies te lezen; en voer ten slotte het script uit met behulp van een for-lus om de proxy te krijgen die beschikbaar is voor een sessie.
2. Is there a proxy rotator available online?
Ja, er zijn online proxy rotators beschikbaar. In plaats van het handmatig roteren van je datacenter proxies, kun je deze proxy rotators gebruiken om het zware werk te doen. Maar dit zijn betaalde diensten; als je een gratis proxy rotator wilt, dan is het bouwen van een rotator met behulp van python de beste kans.
3. How do proxies help in web scraping?
Proxies helpen om je originele IP-adres te maskeren en hun IP-adres te gebruiken om meerdere verzoeken naar de doelserver te sturen om de benodigde informatie te verkrijgen. Voor web scraping moet je snel veel aanvragen versturen, wat de doelserver kan zien als abnormaal gedrag en je IP-adres kan blokkeren. Proxy helpt je om dergelijke scenario's te vermijden.

Conclusie

Het is eenvoudig om een proxy rotator te maken in Python. Je kunt willekeurige proxies genereren en vervolgens logica bouwen om gegevens van websites te schrapen. Naast datacenter en residentiële proxies zijn de andere categorieën elite, anoniem en transparant proxies. Elite proxies zijn de beste optie omdat ze moeilijk te detecteren zijn door de doelwebsite. Je kunt anoniem proxies gebruiken als je je privacy op het internet wilt behouden. Tot slot kun je transparante proxies gebruiken, maar deze bieden de laagste kans op succes. Dit artikel hoopt diepgaande informatie en voorbeelden te geven over hoe proxies te gebruiken om IP adressen te roteren in python met eenvoudige coderingsstappen.