karanlık proxyscrape logo

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

Nasıl yapılır, Proxyler, Python, Kasım-02-20225 dakika okuma

İçindekiler

Bir proxy kullandığınızda, hedef sunucuya doğrudan bağlanmazsınız; bunun yerine, isteğinizi değerlendiren ve bir yanıt döndüren proxy sunucusuna yönlendirirsiniz. Proxy'lerin gerçek IP adreslerinizi gizlemek, filtreleri, sansürü vb. atlamak gibi birçok faydası vardır. 

Aynı IP adresinden birden fazla istek gönderilmesi nedeniyle bazen gelişmiş web kaz ıma işlemi gerçekleştirmek zordur. Web kazıyıcıları, kazıma yaptıkları web siteleri tarafından engellenme gibi yaygın bir sorunla karşı karşıyadır. Ancak engellenmeyi önlemek için birçok teknik kullanabilirler, örneğin
  • Dönen IP adresleri
  • Başlıksız tarayıcıları kullanma
  • Tarama oranını azaltma,
  • Proxy'leri kullanma

Bir proxy döndürücü, kazıma karşıtı önlemlerin çoğunu aşmanıza yardımcı olabilir. Ayrıca, hedef web sitesinde uygulanan herhangi bir hız sınırını atlatmak ve verileri başarıyla çıkarmak için de kullanabilirsiniz. Peki dönen proxy nedir? Proxy havuzundan gelen her bağlantı için yeni bir IP adresi atayan bir proxy'dir. Bu, bir komut dosyası başlatarak ve 1000 farklı IP adresi alarak istediğiniz sayıda web sitesine 1000 istek gönderebileceğiniz anlamına gelir.

Bu makale, python'da IP adreslerini döndürmek için proxy'lerin nasıl kullanılacağını anlamanıza yardımcı olur.

Python'da IP Adreslerini Döndürmek için Proxy'ler Nasıl Kullanılır

Ücretsiz proxy'lerin bir listesini kazıyabilir ve bunları list_proxy.txt adlı bir metin dosyasına kaydedebilirsiniz. Daha sonra Python'da IP adreslerini döndürmek için aşağıdaki adımları takip edebilirsiniz.

Kütüphaneleri İçe Aktar

Aşağıdaki komutu kullanarak Python'un requests modülünü içe aktarmalısınız.

i̇thalat talepleri̇

Modül ortamınızda yüklü değilse, aşağıdaki komutu kullanarak yükleyebilirsiniz.

!pip install requests

Bir İşlev Oluşturun

Oturum ve proxy olmak üzere iki parametre alacak bir send_request fonksiyonu oluşturmalısınız. Çoğu ücretsiz proxy HTTPS protokolünü kullanmadığı için bir HTTP proxy kullanmak daha iyi olacaktır. Try-except bloklarını kullanacağız çünkü çoğu ücretsiz proxy blok listesinde olduğu için çalışmaz.
def send_request(session, proxy):
   try:
       response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
       print(response.json())
   except:
       pass

.txt Dosyasını Okuyun

İşte kodun ana bölümü geliyor. List_proxy.txt dosyanızı okumalı ve aşağıda gösterildiği gibi proxies adlı değişkene kaydetmelisiniz.

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

For Döngüsü Kullanın

Python'da bir oturum oluşturmak için requests modülünü kullanmanız gerekir. Aşağıdaki kodda proxy üzerinden döngü yapmak için bir for döngüsü kullandık. Daha sonra oturumu ve proxy'yi send_request fonksiyonuna aktardık. 

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

Komut Dosyasını Çalıştırın

Komut dosyasını çalıştırabilir ve aşağıda gösterildiği gibi çıktıyı görebilirsiniz. Uzun bir proxy listesi alacaksınız ancak unutmayın, bunlar çalışmayacaktır. 

python rotateproxy.py

Tüm kodunuz şu şekilde olacaktır:

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)

Proxy Rotator Oluşturmak İçin İpuçları

Aşağıda, dönen bir proxy kullanırken Python'da proxy'leri döndürmek için bazı ipuçları verilmiştir.

Güvenilir, Ücretsiz Proxy Hizmetlerini Kullanın

Mevcut ücretsiz proxy hizmetlerinin çoğu sıkışıktır, bu da beklenmedik çökmelere ve sinir bozucu gecikmelere neden olur. Bu nedenle, ücretsiz proxy'lere gitmeyi planladığınızda, önemli bir düşüşe neden olmadan kazıma ihtiyaçlarınızı karşılayıp karşılamadıklarını kontrol etmeniz gerekir.

Çoğu ücretsiz proxy sınırlı bir süre için geçerlidir, bu nedenle Python'da ücretsiz proxy listesi rotatörünü çalışan IP adresleriyle döndürebilen kendi mantığınızı oluşturabilirsiniz. Bu şekilde, web kazıma sırasında herhangi bir kesinti yaşamazsınız. 

Tahmin Edilebilir Proxy IP Adresleri Kullanmaktan Kaçının

Aynı gruba ait olmak gibi belirli bir sırayı veya öngörülebilir bir formatı takip eden IP adreslerini kullanmaktan kaçınmalısınız. Çünkü çoğu kazıma önleme aracı bu tür IP adreslerinden gönderilen talepleri kolayca tespit edebilir. Örneğin, aşağıdaki dönen IP adresleri dizisini kullanmaktan kaçınmalısınız çünkü bu, kırmızı bayrağı hızla yükseltecektir.

103.243.132.11

103.243.132.12

103.243.132.13

103.243.132.14

Premium Proxy Hizmetini Değerlendirin

Ücretsiz proxy IP döndürücüler güvensiz ve yavaştır. Bu nedenle, gelişmiş ve büyük ölçekli web kazıma projeleri gerçekleştiriyorsanız bunları kullanmak uygun olmayacaktır. İyi premium proxy'ler kullanarak, yüksek kaliteli bir hizmet alabilir ve engelleme veya kesinti yaşamadan binlerce web sayfasını kazıyabilirsiniz. 

Premium bir proxy hizmeti kullanmak için birkaç dolar ödemeniz ve veri çıkarma ihtiyaçlarınızı karşılayacak ve gizliliğinizi garanti edecek bir sağlayıcı almanız gerekecektir.

Elit Proxy'ler İçin Gidin

Aşağıda internetteki üç ana proxy kategorisi verilmiştir.

  • Elit Proxyler
  • Anonim Proxyler
  • Şeffaf Proxyler
Elit proxy'ler, tespitleri önleyebildikleri ve kısıtlamaları atlayabildikleri için bu proxy'ler arasında dikkate alınması gereken en iyi seçenektir. Elit bir proxy kullanarak yalnızca REMOTE_ADDR başlığını gönderebilir ve diğer başlıkları boş bırakabilirsiniz. Bu şekilde, bu proxy'ler ile optimum gizlilik elde edebilirsiniz.
Öte yandan, şeffaf bir proxy IP adresi ayrıntılarınızı ortaya çıkarır ve HTTP_VIA başlığı ve HTTP_X_FORWARDED_FOR başlığı aracılığıyla gerçek IP adresinizi gönderir. Anonim proxy gerçek IP adresinizi ifşa etmez. Ya proxy'nin IP'sini gönderir ya da boş bırakır.

IP Rotasyonunu Kullanıcı Aracısı Rotasyonu ile Birleştirin

Birden fazla IP adresini döndürmek ve tespit edilmekten kaçınmak için IP rotasyonunu kullanabilirsiniz. Ancak, bazı kazıma karşıtı önlemler bu tür faaliyetleri tespit edebilir ve veri toplamanızı engelleyebilir. Bu nedenle, başarı şansınızı artırmak için IP adreslerini döndürmenin yanı sıra kullanıcı aracılarını da döndürmeniz gerekir. 

SSS:

1. How to use proxies to rotate IP addresses using python?
Python kütüphanesi istekleri yardımıyla, proxy'leri kolaylıkla döndürebilirsiniz. İlk olarak, ProxyScrapeweb sitesinden ücretsiz proxy'lerin listesini indirin, ikinci olarak tüm IP döndürme işlemini gerçekleştirmek için kullanabileceğiniz bir işlev oluşturun; üçüncü olarak, indirilen ücretsiz proxy'leri okumak için okuma işlevini kullanın; ve son olarak, bir oturum için uygun olan proxy'yi almak için for döngüsünü kullanarak komut dosyasını çalıştırın.
2. Is there a proxy rotator available online?
Evet, çevrimiçi olarak kullanılabilen proxy döndürücüler var. Veri merkezinizin proxy'lerini manuel olarak döndürmek yerine, ağır işi yapmak için bu proxy döndürücüleri kullanabilirsiniz. Ancak bunlar ücretli hizmetlerdir; ücretsiz bir proxy döndürücü istiyorsanız, python yardımıyla bir döndürücü oluşturmak en iyi şanstır.
3. How do proxies help in web scraping?
Proxy'ler orijinal IP adresinizi maskelemenize yardımcı olur ve gerekli bilgileri almak için hedef sunucuya birkaç istek göndermek için IP adreslerini kullanır. Web kazıma için, hedef sunucunun anormal davranış olarak görebileceği ve IP adresinizi engelleyebileceği birçok isteği hızlı bir şekilde göndermeniz gerekir. Proxy bu tür senaryolardan kaçınmanıza yardımcı olur.

Sonuç

Python'da bir proxy döndürücü oluşturmak basittir. Rastgele proxy'ler oluşturabilir ve ardından web sitelerinden veri kazımak için mantık oluşturabilirsiniz. Veri merkezi ve konut proxy'lerinin yanı sıra, diğer kategoriler elit, anonim ve şeffaf proxy'lerdir. Elit proxy'ler en iyi seçenektir çünkü hedef web sitesi tarafından tespit edilmeleri zordur. Eğer internette gizliliğinizi korumak istiyorsanız anonim proxyleri kullanabilirsiniz. Son olarak, şeffaf proxyleri kullanabilirsiniz, ancak bunlar en düşük başarı şansını sunar. Bu makale, basit kodlama adımlarıyla python'da IP adreslerini döndürmek için proxy'lerin nasıl kullanılacağına dair derinlemesine bilgi vermeyi ve örnekler vermeyi umuyor