Membuat mekanisme rotasi proxy yang efisien sangat penting ketika menangani tugas web scraping atau penambangan data berskala besar. Meskipun tahap awal proyek web scraping atau perayapan skala minimal mungkin cukup dengan penyiapan dasar, tantangan sebenarnya muncul saat melakukan peningkatan. Untuk memitigasi risiko seperti pemblokiran IP dan untuk memastikan ketahanan infrastruktur scraping Anda, penggunaan sistem rotasi proxy yang canggih menjadi suatu keharusan.
Untuk tujuan tersebut, penggunaan penyedia layanan proxy profesional seperti OneProxy menjadi sangat berharga. Dengan beragam kumpulan server proxy pusat data, layanan tersebut dapat meningkatkan keandalan dan efisiensi tugas scraping Anda secara signifikan.
Di bawah ini, kami mempelajari pengembangan rotator proxy yang lebih canggih menggunakan Python dan Beautiful Soup, memanfaatkan layanan dari OneProxy untuk hasil yang optimal.
Pengaturan Awal
Sebelum memulai, pastikan Anda memiliki Sup Cantik dan requests
perpustakaan diinstal di lingkungan Python Anda. Alat-alat ini memungkinkan Anda mengurai konten HTML dan mengelola permintaan HTTP dengan mudah.
Skrip rotasi proksi kami akan mengambil proksi publik dari kumpulan proksi gratis OneProxy, yang dapat diakses di Daftar Proksi Gratis OneProxy. Daftar ini diperbarui secara berkala, menawarkan serangkaian proxy baru untuk berbagai kebutuhan.
Kode Pengambilan Dasar
Pertama, kita perlu membuat kode dasar untuk mengambil konten HTML dari daftar proxy gratis OneProxy. Kami menggunakan string agen pengguna untuk meniru browser web, yang membantu melewati deteksi bot dasar berbasis agen pengguna.
# -*- 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
Fungsi ini hanya mengambil konten HTML dari URL yang disediakan.
Mengurai Daftar Proxy
Itu BeautifulSoup
perpustakaan akan mengurai konten HTML untuk mengekstrak proxy. Proxy biasanya terdaftar dalam struktur tabel di halaman web, diidentifikasi dengan tag dan atribut HTML tertentu.
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
Memutar Proxy
Fungsi berikut mengatur rotasi proksi dengan memilih secara acak proksi yang tersedia dari daftar yang diambil:
from random import choice
def rotate_proxies(proxies):
if proxies:
return choice(proxies)
else:
return None
Menyatukan Semuanya
Menggabungkan semua fungsi, skrip akhir mengintegrasikan pengambilan, penguraian, dan rotasi proxy, menyediakan sistem rotasi proxy yang mulus.
# -*- 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'])
Penskalaan Profesional dengan OneProxy
Untuk lingkungan produksi yang skalanya mencapai ribuan permintaan, kumpulan proxy gratis mungkin tidak cukup karena pertimbangan keandalan dan kecepatan. Pada saat ini, a memutar layanan proxy menjadi penting.
OneProxy menawarkan solusi tangguh dengan fitur-fitur seperti:
- Proksi Berkecepatan Tinggi Global: Jutaan proxy pusat data di seluruh dunia memastikan koneksi tanpa gangguan dan cepat.
- Rotasi IP Otomatis: Alamat IP dirotasi dengan mulus untuk mencegah deteksi dan pelarangan.
- Rotasi String Agen Pengguna: Meniru permintaan dari berbagai browser web dan versinya, sehingga meningkatkan ketidakterdeteksian bot.
- Pemecahan CAPTCHA: Mengintegrasikan teknologi untuk menyelesaikan CAPTCHA secara otomatis, sehingga menyederhanakan proses pengikisan.
Dengan OneProxy, pelanggan berhasil mengatasi tantangan pemblokiran IP, sehingga menyederhanakan proses ekstraksi data web mereka.
Layanan OneProxy serbaguna dan dapat diimplementasikan dalam bahasa pemrograman apa pun, melayani beragam proyek dan persyaratan.
Penawaran istimewa: Rasakan kekuatan rotasi proksi profesional dengan OneProxy. Mulailah dengan 50.000 permintaan tanpa biaya