Menggunakan proksi berputar untuk mengikis web ialah cara yang berkesan, terutamanya apabila anda perlu mengakses tapak web dengan kerap atau memintas mekanisme anti perangkak. Proksi berputar boleh menukar alamat IP secara automatik, dengan itu mengurangkan risiko disekat.
Berikut ialah contoh menggunakan proksi berputar dengan perpustakaan permintaan Python dan Selenium untuk mengikis web.
Pertama sekali, anda perlu memasang perpustakaan permintaan.
Anda perlu mendapatkan kunci API atau senarai proksi daripada pembekal perkhidmatan proksi berputar dan konfigurasikannya dalam permintaan.
Gunakan perpustakaan permintaan untuk menghantar permintaan HTTP dan memajukannya melalui proksi.
Kod sampel:
import requests from some_rotating_proxy_service import get_proxy # Assuming this is the function provided by your rotating proxy service #Get a new proxy proxy = get_proxy() # Set the proxy's HTTP and HTTPS headers (may vary depending on the proxy service's requirements) proxies = { 'http': f'http://{proxy}', 'https': f'https://{proxy}' } # Sending a GET request url = 'http://example.com' try: response = requests.get(url, proxies=proxies) # Processing Response Data print(response.text) except requests.exceptions.ProxyError: print('Proxy error occurred') except Exception as e: print(f'An error occurred: {e}')
Pasang pustaka Selenium dan WebDriver untuk penyemak imbas anda (seperti ChromeDriver).
Sama seperti permintaan, anda perlu mendapatkan maklumat proksi daripada pembekal perkhidmatan proksi berputar dan mengkonfigurasinya dalam Selenium.
Lancarkan penyemak imbas menggunakan Selenium dan tetapkan proksi melalui pilihan penyemak imbas.
Kod sampel:
from selenium import webdriver from selenium.webdriver.chrome.options import Options from some_rotating_proxy_service import get_proxy # Assuming this is the function provided by your rotating proxy service # Get a new proxy proxy = get_proxy() # Set Chrome options to use a proxy chrome_options = Options() chrome_options.add_argument(f'--proxy-server=http://{proxy}') # Launch Chrome browser driver = webdriver.Chrome(options=chrome_options) # Visit the website url = 'http://example.com' driver.get(url) # Processing web data # ...(For example, use driver.page_source to get the source code of a web page, or use driver to find a specific element.) # Close the browser driver.quit()
Pastikan perkhidmatan proksi berputar boleh dipercayai dan menyediakan kumpulan proksi yang mencukupi untuk mengelakkan perubahan IP dan sekatan yang kerap.
Rancang tugas mengikis anda dengan betul mengikut harga dan had penggunaan perkhidmatan proksi berputar.
Apabila menggunakan Selenium, beri perhatian kepada pengendalian penutupan tetingkap penyemak imbas dan keluaran sumber untuk mengelakkan kebocoran memori atau masalah lain.
Patuhi fail robots.txt tapak web sasaran dan perjanjian merangkak untuk mengelakkan pertikaian undang-undang.
Atas ialah kandungan terperinci Mengikis Web dengan Proksi Berputar: Contoh dengan Permintaan Python dan Selenium. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!