Puppeteer vs. Selenium: Apa yang Perlu Dipilih untuk Mengikis Web?

Pilih dan Beli Proksi

Puppeteer vs. Selenium: Apa yang Perlu Dipilih untuk Mengikis Web?

Adakah anda cuba membuat keputusan antara Puppeteer dan Selenium untuk mengikis web? Kedua-duanya adalah rangka kerja automasi penyemak imbas yang berkuasa, dan membuat pilihan yang tepat bergantung pada keperluan pengikisan khusus anda dan sumber yang tersedia.

Untuk membantu anda membuat keputusan termaklum, kami telah menyerlahkan perbezaan utama antara Puppeteer dan Selenium dalam jadual di bawah. Selepas itu, kami akan menyelidiki butiran dan memberikan contoh mengikis untuk setiap rangka kerja untuk menunjukkan keberkesanannya dalam mengekstrak data daripada halaman web.

KriteriadalangSelenium
Bahasa yang SerasiHanya JavaScript yang disokong secara rasmi, tetapi terdapat port PHP dan Python tidak rasmiJava, Python, C#, Ruby, PHP, JavaScript dan Kotlin
Sokongan PelayarChromium dan sokongan Firefox percubaanChrome, Safari, Firefox, Opera, Edge dan Internet Explorer
Prestasi60% lebih pantas daripada SeleniumCepat
Sokongan Sistem PengendalianWindows, Linux dan macOSWindows, Linux, macOS dan Solaris
Seni binaSeni bina dipacu acara dengan tika penyemak imbas tanpa kepalaProtokol JSONWire pada pemacu web untuk mengawal contoh penyemak imbas
PrasyaratPakej JavaScript sudah memadaiSelenium Bindings (untuk bahasa pengaturcaraan yang dipilih) dan pemacu web penyemak imbas
KomunitiKomuniti yang lebih kecil berbanding SeleniumDokumentasi yang mantap dan komuniti yang besar

Mari kita teruskan membincangkan perpustakaan ini secara terperinci dan lakukan contoh pengikisan dengan setiap satu untuk menggambarkan kecekapannya dalam mengekstrak data daripada halaman web.

Logo Puppeteer

dalang

dalang ialah perpustakaan Node.js yang menyediakan API peringkat tinggi untuk mengawal Chrome atau Chromium melalui Protokol DevTools. Ia direka untuk mengautomasikan tugas dalam Chrome atau Chromium, seperti mengambil tangkapan skrin, menjana PDF dan menavigasi halaman.

Puppeteer juga boleh digunakan untuk menguji halaman web dengan mensimulasikan interaksi pengguna seperti mengklik butang, mengisi borang dan mengesahkan keputusan yang dipaparkan.

Kelebihan Puppeteer

  • Kemudahan penggunaan: Mudah dan mudah digunakan.
  • Dihimpun dengan Chromium: Tiada persediaan tambahan diperlukan.
  • Mod Tanpa Kepala: Berjalan dalam mod tanpa kepala secara lalai tetapi boleh dikonfigurasikan untuk dijalankan dalam mod penyemak imbas penuh.
  • Seni Bina Didorong Peristiwa: Menghapuskan keperluan untuk panggilan tidur manual dalam kod anda.
  • Keupayaan Komprehensif: Boleh mengambil tangkapan skrin, menjana PDF dan mengautomasikan semua tindakan penyemak imbas.
  • Pengurusan Prestasi: Menawarkan alat untuk merakam prestasi masa jalan dan memuatkan untuk mengoptimumkan dan nyahpepijat pengikis anda.
  • SPA Merangkak: Mampu merangkak Aplikasi Halaman Tunggal (SPA) dan menjana kandungan pra-diberikan (pemarahan sebelah pelayan).
  • Rakaman Skrip: Membenarkan membuat skrip Puppeteer dengan merakam tindakan pada penyemak imbas menggunakan konsol DevTools.

Kelemahan Dalang

  • Sokongan Penyemak Imbas Terhad: Menyokong lebih sedikit pelayar berbanding Selenium.
  • Fokus JavaScript: Terutamanya menyokong JavaScript, walaupun port tidak rasmi untuk Python dan PHP wujud.

Contoh Mengikis Web dengan Puppeteer

Mari kita lihat tutorial mengikis web Puppeteer untuk mengekstrak item daripada kategori Jenayah dan Thriller di tapak web Danube.

Kedai Danube: Jenayah dan Thriller

Untuk bermula, import modul Puppeteer dan buat fungsi tak segerak untuk menjalankan kod Puppeteer:

const puppeteer = require('puppeteer'); 

async function main() { 
    // Launch a headless browser instance 
    const browser = await puppeteer.launch({ headless: true });

    // Create a new page object 
    const page = await browser.newPage();

    // Navigate to the target URL and wait until the loading finishes
    await page.goto('https://danube-webshop.herokuapp.com/', { waitUntil: 'networkidle2' });

    // Wait for the left-side bar to load
    await page.waitForSelector('ul.sidebar-list');

    // Click on the first element and wait for the navigation to finish
    await Promise.all([
        page.waitForNavigation(),
        page.click("ul[class='sidebar-list'] > li > a"),
    ]);

    // Wait for the book previews to load
    await page.waitForSelector("li[class='preview']");

    // Extract the book previews
    const books = await page.evaluateHandle(
        () => [...document.querySelectorAll("li[class='preview']")]
    );

    // Extract the relevant data using page.evaluate
    const processed_data = await page.evaluate(elements => {
        let data = [];
        elements.forEach(element => {
            let title = element.querySelector("div.preview-title").innerHTML;
            let author = element.querySelector("div.preview-author").innerHTML;
            let rating = element.querySelector("div.preview-details > p.preview-rating").innerHTML;
            let price = element.querySelector("div.preview-details > p.preview-price").innerHTML;

            let result = { title, author, rating, price };
            data.push(result);
        });
        return data;
    }, books);

    // Print out the extracted data
    console.log(processed_data);

    // Close the page and browser respectively
    await page.close();
    await browser.close();
}

// Run the main function to scrape the data
main();

Output yang Dijangka

Apabila anda menjalankan kod, output harus menyerupai yang berikut:

[
    {
        title: 'Does the Sun Also Rise?',
        author: 'Ernst Doubtingway',
        rating: '★★★★☆',
        price: '$9.95'
    },
    {
        title: 'The Insiders',
        author: 'E. S. Hilton',
        rating: '★★★★☆',
        price: '$9.95'
    },
    {
        title: 'A Citrussy Clock',
        author: 'Bethany Urges',
        rating: '★★★★★',
        price: '$9.95'
    }
]

Satu lagi Contoh Penggunaan Puppeteer

Selain mengikis data dari halaman web, Puppeteer boleh digunakan untuk pelbagai tugas automasi. Satu kes penggunaan biasa ialah menjana PDF halaman web. Mari kita lihat contoh di mana Puppeteer digunakan untuk menjana PDF daripada halaman web.

Menjana PDF dengan Puppeteer

Langkah 1: Import Puppeteer dan Cipta Fungsi Asynchronous

const puppeteer = require('puppeteer');

async function generatePDF() {
    // Launch a headless browser instance
    const browser = await puppeteer.launch({ headless: true });

    // Create a new page object
    const page = await browser.newPage();

    // Navigate to the target URL
    await page.goto('https://example.com', { waitUntil: 'networkidle2' });

    // Generate a PDF from the web page
    await page.pdf({
        path: 'example.pdf', // Output file path
        format: 'A4',        // Paper format
        printBackground: true, // Include background graphics
    });

    // Close the page and browser respectively
    await page.close();
    await browser.close();
}

// Run the function to generate the PDF
generatePDF();

Pilihan Dalang Tambahan

Puppeteer menyediakan beberapa pilihan untuk menjana PDF yang boleh disesuaikan mengikut keperluan anda. Berikut adalah beberapa pilihan yang boleh anda gunakan:

  • path: Laluan fail untuk menyimpan PDF.
  • format: Format kertas (cth, 'A4', 'Letter').
  • printBackground: Sama ada hendak memasukkan grafik latar belakang.
  • landscape: Ditetapkan untuk true untuk orientasi landskap.
  • margin: Tentukan margin untuk PDF (atas, kanan, bawah, kiri).

Contoh dengan Pilihan Tambahan:

const puppeteer = require('puppeteer');

async function generatePDF() {
    const browser = await puppeteer.launch({ headless: true });
    const page = await browser.newPage();
    await page.goto('https://example.com', { waitUntil: 'networkidle2' });

    await page.pdf({
        path: 'example.pdf',
        format: 'A4',
        printBackground: true,
        landscape: true,
        margin: {
            top: '20px',
            right: '20px',
            bottom: '20px',
            left: '20px',
        },
    });

    await page.close();
    await browser.close();
}

generatePDF();

Contoh Output

Menjalankan kod di atas akan mencipta fail PDF bernama example.pdf dalam direktori semasa dengan kandungan halaman web https://example.com.

Puppeteer ialah alat serba boleh untuk tugas automasi web, daripada mengikis data kepada menjana PDF. Kemudahan penggunaannya dan ciri berkuasa menjadikannya pilihan yang sangat baik untuk mengautomasikan pelbagai aktiviti penyemak imbas. Sama ada anda mengikis data, menjana laporan atau menguji halaman web, Puppeteer menyediakan alatan yang anda perlukan untuk menyelesaikan kerja dengan cekap.

Logo Selenium

Selenium

Selenium ialah alat ujian hujung ke hujung sumber terbuka dan alat automasi web yang sering digunakan untuk mengikis web. Komponen utamanya termasuk Selenium IDE, Selenium WebDriver dan Selenium Grid.

  • Selenium IDE: Digunakan untuk merekod tindakan sebelum mengautomasikannya.
  • Selenium WebDriver: Melaksanakan arahan dalam pelayar.
  • Grid Selenium: Membolehkan pelaksanaan selari.

Kelebihan Selenium

  • Kemudahan penggunaan: Mudah dan mudah digunakan.
  • Sokongan Bahasa: Menyokong pelbagai bahasa pengaturcaraan seperti Python, Java, JavaScript, Ruby, dan C#.
  • Automasi Pelayar: Boleh mengautomasikan penyemak imbas seperti Firefox, Edge, Safari, dan juga penyemak imbas QtWebKit tersuai.
  • Kebolehskalaan: Berkemungkinan untuk menskalakan Selenium kepada ratusan contoh menggunakan pelayan awan dengan tetapan penyemak imbas yang berbeza.
  • Merentas Platform: Beroperasi pada Windows, macOS dan Linux.

Kelemahan Selenium

  • Persediaan Kompleks: Kaedah persediaan selenium boleh menjadi rumit.

Sampel Pengikisan Web dengan Selenium

Seperti Puppeteer, mari kita lihat tutorial tentang mengikis web dengan Selenium menggunakan tapak sasaran yang sama. Kami akan mengeluarkan pratonton buku daripada kategori Jenayah dan Ngeri di tapak web Danube.

Kedai Danube: Jenayah dan Thriller

Langkah 1: Import Modul yang Diperlukan dan Konfigurasikan Selenium

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

options = webdriver.ChromeOptions()
options.add_argument("--headless")

Langkah 2: Mulakan Pemacu Web Chrome

driver = webdriver.Chrome(options=options)

Langkah 3: Navigasi ke Tapak Web Sasaran

time.sleep(1)
crime_n_thrillers = driver.find_element(By.CSS_SELECTOR, "ul[class='sidebar-list'] > li")
crime_n_thrillers.click()
time.sleep(1)
books = driver.find_elements(By.CSS_SELECTOR, "div.shop-content li.preview")

Langkah 4: Klik pada Kategori Jenayah & Thriller dan Ekstrak Pratonton Buku

time.sleep(1)
crime_n_thrillers = driver.find_element(By.CSS_SELECTOR, "ul[class='sidebar-list'] > li")
crime_n_thrillers.click()
time.sleep(1)
books = driver.find_elements(By.CSS_SELECTOR, "div.shop-content li.preview")

Langkah 5: Tentukan Fungsi untuk Mengekstrak Data daripada Setiap Pratonton Buku

def extract(element):
    title = element.find_element(By.CSS_SELECTOR, "div.preview-title").text
    author = element.find_element(By.CSS_SELECTOR, "div.preview-author").text
    rating = element.find_element(By.CSS_SELECTOR, "div.preview-details p.preview-rating").text
    price = element.find_element(By.CSS_SELECTOR, "div.preview-details p.preview-price").text
    return {"title": title, "author": author, "rating": rating, "price": price}

Langkah 6: Gelung Melalui Pratonton, Ekstrak Data dan Keluar dari Pemacu

extracted_data = []
for element in books:
    data = extract(element)
    extracted_data.append(data)

print(extracted_data)
driver.quit()

Output yang Dijangka

Menjalankan kod di atas akan menghasilkan output yang serupa dengan yang berikut:

[
    {'title': 'Does the Sun Also Rise?', 'author': 'Ernst Doubtingway', 'rating': '★★★★☆', 'price': '$9.95'},
    {'title': 'The Insiders', 'author': 'E. S. Hilton', 'rating': '★★★★☆', 'price': '$9.95'},
    {'title': 'A Citrussy Clock', 'author': 'Bethany Urges', 'rating': '★★★★★', 'price': '$9.95'}
]

Contoh Selenium Tambahan: Mengambil Tangkapan Skrin

Selain mengikis data, Selenium juga boleh digunakan untuk mengambil tangkapan skrin halaman web. Berikut ialah contoh cara mengambil tangkapan skrin halaman web menggunakan Selenium.

Langkah 1: Import Modul yang Diperlukan dan Konfigurasikan Selenium

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--headless")

Langkah 2: Mulakan Pemacu Web Chrome

driver = webdriver.Chrome(options=options)

Langkah 3: Navigasi ke Tapak Web Sasaran

url = "https://example.com"
driver.get(url)

Langkah 4: Ambil Tangkapan Skrin

driver.save_screenshot("example_screenshot.png")

Langkah 5: Berhenti Pemandu

driver.quit()

Selenium ialah alat serba boleh untuk tugas automasi web, termasuk mengikis web dan mengambil tangkapan skrin. Sokongannya untuk berbilang bahasa pengaturcaraan dan penyemak imbas, bersama-sama dengan skalabilitinya, menjadikannya pilihan yang berkuasa untuk pelbagai keperluan automasi. Sama ada anda mengekstrak data atau menjana laporan, Selenium menyediakan keupayaan untuk mengautomasikan tugas anda dengan cekap.

Puppeteer vs. Selenium: Perbandingan Kelajuan

Adakah Puppeteer lebih cepat daripada Selenium? Jawapannya ialah ya—Puppeteer secara amnya lebih pantas daripada Selenium.

Untuk membandingkan kelajuan Puppeteer dan Selenium, kami menggunakan kotak pasir kedai Danube dan menjalankan skrip yang dibentangkan melebihi 20 kali, dengan purata masa pelaksanaan.

Ujian Kelajuan Selenium

Kami menggunakan time modul dalam Python untuk mengukur masa pelaksanaan skrip Selenium. Masa mula direkodkan pada permulaan dan masa tamat pada akhir skrip. Perbezaan antara masa ini memberikan jumlah tempoh pelaksanaan.

Berikut ialah skrip lengkap yang digunakan untuk Selenium:

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def extract(element):
    title = element.find_element(By.CSS_SELECTOR, "div.preview-title").text
    author = element.find_element(By.CSS_SELECTOR, "div.preview-author").text
    rating = element.find_element(By.CSS_SELECTOR, "div.preview-details p.preview-rating").text
    price = element.find_element(By.CSS_SELECTOR, "div.preview-details p.preview-price").text
    return {"title": title, "author": author, "rating": rating, "price": price}

# Start the timer
start_time = time.time()

options = webdriver.ChromeOptions()
options.add_argument("--headless")

# Create a new instance of the Chrome driver
driver = webdriver.Chrome(options=options)

url = "https://danube-webshop.herokuapp.com/"
driver.get(url)

# Click on the Crime & Thrillers category
time.sleep(1)
crime_n_thrillers = driver.find_element(By.CSS_SELECTOR, "ul[class='sidebar-list'] > li")
crime_n_thrillers.click()
time.sleep(1)

# Extract the book previews
books = driver.find_elements(By.CSS_SELECTOR, "div.shop-content li.preview")

extracted_data = []
for element in books:
    data = extract(element)
    extracted_data.append(data)

print(extracted_data)

# End the timer
end_time = time.time()
print(f"The whole script took: {end_time - start_time:.4f} seconds")

driver.quit()

Ujian Kepantasan Dalang

Untuk skrip Puppeteer, kami menggunakan Date objek untuk mengukur masa pelaksanaan. Masa mula direkodkan pada permulaan dan masa tamat pada akhir skrip. Perbezaan antara masa ini memberikan jumlah tempoh pelaksanaan.

Berikut ialah skrip lengkap yang digunakan untuk Puppeteer:

const puppeteer = require('puppeteer');

async function main() {
    const start = Date.now();

    const browser = await puppeteer.launch({ headless: true });
    const page = await browser.newPage();
    await page.goto('https://danube-webshop.herokuapp.com/', { waitUntil: 'networkidle2' });

    await page.waitForSelector('ul.sidebar-list');

    await Promise.all([
        page.waitForNavigation(),
        page.click("ul[class='sidebar-list'] > li > a"),
    ]);

    await page.waitForSelector("li[class='preview']");
    const books = await page.evaluateHandle(
        () => [...document.querySelectorAll("li[class='preview']")]
    );

    const processed_data = await page.evaluate(elements => {
        let data = [];
        elements.forEach(element => {
            let title = element.querySelector("div.preview-title").innerHTML;
            let author = element.querySelector("div.preview-author").innerHTML;
            let rating = element.querySelector("div.preview-details > p.preview-rating").innerHTML;
            let price = element.querySelector("div.preview-details > p.preview-price").innerHTML;

            let result = { title, author, rating, price };
            data.push(result);
        });
        return data;
    }, books);

    console.log(processed_data);
    await page.close();
    await browser.close();

    const end = Date.now();
    console.log(`Execution time: ${(end - start) / 1000} seconds`);
}

main();

Keputusan Ujian Prestasi

Ujian prestasi menunjukkan bahawa Puppeteer adalah kira-kira 60% lebih pantas daripada Selenium. Kelebihan kelajuan ini menjadikan Puppeteer pilihan yang lebih sesuai untuk projek yang memerlukan pengikisan dan automasi web berkelajuan tinggi, terutamanya apabila bekerja dengan penyemak imbas berasaskan Chromium.

Ringkasan Keputusan Kelajuan:

Ujian Kelajuan Puppeteer lwn Selenium

Carta di bawah menggambarkan perbezaan prestasi antara Puppeteer dan Selenium:

Mempertingkatkan aplikasi Puppeteer untuk projek yang memerlukan pengikisan web yang pantas dan cekap ialah pilihan optimum dalam konteks ini.

Puppeteer vs. Selenium: Mana Yang Lebih Baik?

Jadi mana yang lebih baik antara Selenium dan Puppeteer untuk mengikis? Tiada jawapan langsung kepada soalan itu kerana ia bergantung pada pelbagai faktor, seperti sokongan perpustakaan jangka panjang, sokongan merentas penyemak imbas dan keperluan mengikis web anda.

Puppeteer lebih pantas, tetapi berbanding Selenium, ia menyokong lebih sedikit pelayar. Selenium juga menyokong lebih banyak bahasa pengaturcaraan berbanding Puppeteer.

Kesimpulan

Walaupun menggunakan Puppeteer atau Selenium ialah pilihan yang baik untuk mengikis web, meningkatkan dan mengoptimumkan projek mengikis web anda boleh menjadi mencabar kerana langkah anti-bot lanjutan boleh mengesan dan menyekat perpustakaan ini. Cara terbaik untuk mengelakkan ini adalah dengan menggunakan API pengikis web, seperti OneProxy.

Menggunakan Puppeteer dengan Pelayan Proksi

Untuk menggunakan Puppeteer dengan pelayan proksi, anda boleh lulus tetapan proksi dalam args pilihan semasa melancarkan contoh penyemak imbas. Berikut ialah contoh:

const puppeteer = require('puppeteer');

async function main() {
    const proxyServer = 'http://your-proxy-server:port';
    
    const browser = await puppeteer.launch({
        headless: true,
        args: [`--proxy-server=${proxyServer}`]
    });

    const page = await browser.newPage();
    await page.goto('https://example.com', { waitUntil: 'networkidle2' });

    // Perform your web scraping tasks here

    await browser.close();
}

main();

Menggunakan Selenium dengan Pelayan Proksi

Untuk menggunakan Selenium dengan pelayan proksi, anda boleh menetapkan pilihan proksi menggunakan webdriver.Proxy kelas. Berikut ialah contoh:

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = "your-proxy-server:port"
proxy.ssl_proxy = "your-proxy-server:port"

capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)

options = webdriver.ChromeOptions()
options.add_argument("--headless")

driver = webdriver.Chrome(desired_capabilities=capabilities, options=options)
driver.get("https://example.com")

# Perform your web scraping tasks here

driver.quit()

Menggunakan pelayan proksi dengan Puppeteer dan Selenium boleh membantu memintas sekatan berasaskan IP dan mengurangkan risiko disekat, meningkatkan kecekapan tugas mengikis web anda. Proksi berputar OneProxy boleh mengoptimumkan lagi proses ini, memberikan pengalaman mengikis yang lancar.

Soalan Lazim (FAQ)

Puppeteer dan Selenium ialah kedua-dua rangka kerja automasi penyemak imbas yang digunakan untuk mengikis web, menguji dan mengautomasikan tugasan penyemak imbas. Puppeteer ialah perpustakaan Node.js yang mengawal Chrome atau Chromium melalui DevTools Protocol, manakala Selenium ialah alat sumber terbuka yang menyokong pelbagai pelayar dan bahasa pengaturcaraan melalui API WebDrivernya.

Puppeteer biasanya lebih cepat daripada Selenium. Walau bagaimanapun, perbezaan kelajuan boleh berbeza-beza bergantung pada tugas dan konfigurasi khusus yang digunakan dalam projek mengikis atau automasi web anda.

Puppeteer terkenal dengan kemudahan penggunaan, kelajuan dan keupayaan untuk mengautomasikan tugas dalam mod tanpa kepala secara lalai. Ia menyokong Chromium dan mempunyai seni bina didorong peristiwa yang kukuh yang menghapuskan keperluan untuk panggilan tidur manual dalam kod.

Puppeteer menyokong lebih sedikit penyemak imbas berbanding Selenium dan tertumpu terutamanya pada JavaScript, walaupun port tidak rasmi untuk bahasa lain seperti Python dan PHP wujud.

Anda boleh mengkonfigurasi Puppeteer untuk menggunakan pelayan proksi dengan menghantar tetapan proksi dalam args pilihan semasa melancarkan penyemak imbas.

Selenium menyokong berbilang bahasa pengaturcaraan (Python, Java, JavaScript, Ruby, C#) dan boleh mengautomasikan pelbagai penyemak imbas, termasuk Firefox, Edge, Safari dan penyemak imbas tersuai seperti QtWebKit. Ia juga membolehkan kebolehskalaan yang meluas melalui teknik seperti menyediakan pelayan awan dengan tetapan penyemak imbas yang berbeza.

Selenium boleh menjadi lebih kompleks untuk disediakan berbanding dengan Puppeteer, terutamanya apabila mengkonfigurasinya untuk pelayar dan persekitaran yang berbeza.

Anda boleh menyediakan pelayan proksi dalam Selenium menggunakan webdriver.Proxy kelas.

Kami menjalankan tugas mengikis web yang sama pada kotak pasir kedai Danube menggunakan kedua-dua Puppeteer dan Selenium. Setiap skrip dilaksanakan 20 kali, dan purata masa pelaksanaan dikira untuk membandingkan prestasi.

Keputusan menunjukkan bahawa Puppeteer adalah kira-kira 60% lebih pantas daripada Selenium, menjadikannya pilihan yang lebih baik untuk tugas mengikis web berkelajuan tinggi dan automasi.

OneProxy boleh membantu anda mengelak daripada disekat. OneProxy mengendalikan pintasan anti-bot, menyediakan proksi berputar, penyemak imbas tanpa kepala, percubaan semula automatik dan banyak lagi, memastikan pengalaman mengikis web yang lancar.

Proksi Pusat Data
Proksi Dikongsi

Sebilangan besar pelayan proksi yang boleh dipercayai dan pantas.

Bermula pada$0.06 setiap IP
Proksi Berputar
Proksi Berputar

Proksi berputar tanpa had dengan model bayar setiap permintaan.

Bermula pada$0.0001 setiap permintaan
Proksi Persendirian
Proksi UDP

Proksi dengan sokongan UDP.

Bermula pada$0.4 setiap IP
Proksi Persendirian
Proksi Persendirian

Proksi khusus untuk kegunaan individu.

Bermula pada$5 setiap IP
Proksi tanpa had
Proksi tanpa had

Pelayan proksi dengan trafik tanpa had.

Bermula pada$0.06 setiap IP
Bersedia untuk menggunakan pelayan proksi kami sekarang?
daripada $0.06 setiap IP