Büyük ölçekli web kazıma veya veri madenciliği görevleriyle uğraşırken etkili bir proxy rotasyon mekanizması oluşturmak çok önemlidir. Web kazıma projelerinin veya minimum ölçekli taramaların ilk aşamaları temel bir kurulum için yeterli olsa da, asıl zorluk ölçeklendirme sırasında ortaya çıkar. IP engelleme gibi riskleri azaltmak ve kazıma altyapınızın sağlamlığını sağlamak için gelişmiş bir proxy rotasyon sisteminin kullanılması zorunlu hale gelir.
Bu tür amaçlar için OneProxy gibi profesyonel bir proxy hizmet sağlayıcısının kullanılması çok değerli hale gelir. Çeşitli veri merkezi proxy sunucuları havuzuyla bu tür hizmetler, kazıma görevlerinizin güvenilirliğini ve verimliliğini büyük ölçüde artırabilir.
Aşağıda, Python ve Beautiful Soup'u kullanarak, en iyi sonuçları elde etmek için OneProxy'nin hizmetlerinden yararlanan daha gelişmiş bir proxy döndürücünün geliştirilmesini derinlemesine inceliyoruz.
Ön Kurulum
Başlamadan önce Güzel Çorba ve requests
Python ortamınızda kurulu kütüphane. Bu araçlar, HTML içeriğini ayrıştırmanıza ve HTTP isteklerini kolayca yönetmenize olanak tanır.
Proxy rotasyon komut dosyamız, genel proxy'leri OneProxy'nin şu adresten erişilebilen ücretsiz proxy havuzundan getirecektir: OneProxy Ücretsiz Proxy Listesi. Bu liste düzenli olarak güncellenerek çeşitli ihtiyaçlara yönelik yeni bir proxy seti sunar.
Temel Getirme Kodu
İlk olarak, HTML içeriğini OneProxy'nin ücretsiz proxy listesinden almak için temel kodu oluşturmamız gerekiyor. Bir web tarayıcısını taklit etmek için, temel kullanıcı aracısı tabanlı bot tespitlerinin atlanmasına yardımcı olan bir kullanıcı aracısı dizesi kullanırız.
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import requests
url = https://oneproxy.pro/free-proxy/
def fetch_proxies(url):
header = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) ' +
'AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9'
}
response = requests.get(url, headers=header)
return response.content
Bu işlev yalnızca sağlanan URL'den HTML içeriğini alır.
Proxy Listesini Ayrıştırma
The BeautifulSoup
kütüphane proxy'leri çıkarmak için HTML içeriğini ayrıştıracaktır. Proxy'ler genellikle web sayfasında belirli HTML etiketleri ve nitelikleriyle tanımlanan bir tablo yapısı içinde listelenir.
def parse_proxies(html_content):
soup = BeautifulSoup(html_content, 'lxml')
proxy_table = soup.select_one('#proxy-list-table') # Replace with the correct ID
proxies = []
for row in proxy_table.select('tr'):
columns = row.select('td')
if columns:
ip, port = columns[0].get_text(), columns[1].get_text()
proxies.append({'ip': ip, 'port': port})
return proxies
Dönen Proxy'ler
Aşağıdaki işlev, getirilen listeden kullanılabilir bir proxy'yi rastgele seçerek proxy rotasyonunu düzenler:
from random import choice
def rotate_proxies(proxies):
if proxies:
return choice(proxies)
else:
return None
Hepsini bir araya koy
Tüm işlevleri birleştiren son komut dosyası, proxy alma, ayrıştırma ve döndürme işlemlerini entegre ederek kusursuz bir proxy döndürme sistemi sağlar.
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
from random import choice
# Functions previously defined: fetch_proxies, parse_proxies, rotate_proxies
proxies = [] # This will hold our list of proxies
def refresh_proxies():
global proxies
proxies = parse_proxies(fetch_proxies('https://oneproxy.pro/free-proxy/'))
def get_random_proxy():
if not proxies:
refresh_proxies()
return rotate_proxies(proxies)
# Main execution
refresh_proxies()
proxy = get_random_proxy()
print(proxy['ip'], proxy['port'])
OneProxy ile Profesyonel Ölçeklendirme
Ölçeğin binlerce isteği kapsadığı üretim ortamları için ücretsiz proxy havuzları, güvenilirlik ve hız hususları nedeniyle yeterli olmayabilir. Bu noktada bir dönüşümlü proxy hizmeti vazgeçilmez hale gelir.
OneProxy aşağıdaki özelliklere sahip sağlam bir çözüm sunar:
- Küresel Yüksek Hızlı Proxy'ler: Dünya çapında milyonlarca veri merkezi proxy'si kesintisiz ve hızlı bağlantılar sağlar.
- Otomatik IP Döndürme: Tespit ve yasakları önlemek için IP adresleri sorunsuz bir şekilde döndürülür.
- Kullanıcı Aracısı Dizesi Döndürme: Çeşitli web tarayıcılarından ve sürümlerinden gelen istekleri taklit ederek botların algılanamazlığını artırır.
- CAPTCHA Çözme: CAPTCHA'ları otomatik olarak çözmek için teknolojiyi entegre eder, böylece kazıma sürecini kolaylaştırır.
OneProxy ile müşteriler IP engellemenin zorluklarını başarıyla aşarak web veri çıkarma süreçlerini kolaylaştırdılar.
OneProxy'nin hizmetleri çok yönlüdür ve çok çeşitli proje ve gereksinimleri karşılayarak herhangi bir programlama dilinde uygulanabilir.
Özel teklif: OneProxy ile profesyonel proxy rotasyonunun gücünü deneyimleyin. Hiçbir ücret ödemeden 50.000 istekle başlayın