Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Menggunakan Proksi dalam Python

Cara Menggunakan Proksi dalam Python

Linda Hamilton
Linda Hamiltonasal
2024-11-16 12:00:05875semak imbas

How to Use Proxies in Python

Jika anda telah bekerja dengan Python untuk seketika, terutamanya dalam kes pengikisan data tertentu, anda mungkin menghadapi situasi di mana anda disekat semasa cuba mendapatkan semula data yang anda mahu. Dalam situasi sedemikian, mengetahui cara menggunakan proksi adalah kemahiran yang berguna untuk dimiliki.

Dalam artikel ini, kami akan meneroka apa itu proksi, sebab ia berguna dan cara anda boleh menggunakannya menggunakan permintaan perpustakaan dalam Python.

Apa itu Proksi?

Mari kita mulakan dari awal dengan mentakrifkan apa itu proksi.

Anda boleh menganggap pelayan proksi sebagai "orang tengah" antara komputer anda dan internet. Apabila anda menghantar permintaan ke tapak web, permintaan itu melalui pelayan proksi terlebih dahulu. Proksi kemudiannya memajukan permintaan anda ke tapak web, menerima respons dan menghantarnya kembali kepada anda. Proses ini menutup alamat IP anda, menjadikannya kelihatan seolah-olah permintaan itu datang daripada pelayan proksi dan bukannya peranti anda sendiri.

Seperti yang boleh difahami, ini mempunyai banyak akibat dan kegunaan. Contohnya, ia boleh digunakan untuk memintas beberapa sekatan IP yang menjengkelkan atau mengekalkan kerahasiaan.

Mengapa menggunakan proksi dalam mengikis web?

Jadi, mengapakah proksi boleh membantu semasa mengikis data? Baiklah, kami sudah memberi alasan sebelum ini. Contohnya, anda boleh menggunakannya untuk memintas beberapa sekatan.

Jadi, dalam kes pengikisan web tertentu, ia boleh berguna atas sebab berikut:

  • Mengelakkan penyekatan IP: tapak web sering memantau aktiviti yang mencurigakan, seperti IP tunggal membuat banyak permintaan dalam masa yang singkat. Menggunakan proksi membantu mengedarkan permintaan anda merentasi berbilang IP mengelak daripada disekat.
  • Memintas geo-sekatan: sesetengah kandungan hanya boleh diakses dari lokasi tertentu dan proksi boleh membantu anda kelihatan seolah-olah anda mengakses tapak dari negara lain.
  • Meningkatkan privasi: proksi berguna untuk memastikan aktiviti mengikis anda tanpa nama dengan menyembunyikan alamat IP sebenar anda.

Cara menggunakan proksi dalam Python menggunakan permintaan

Pustaka permintaan ialah pilihan popular untuk membuat permintaan HTTP dalam Python dan memasukkan proksi ke dalam permintaan anda adalah mudah.

Jom lihat caranya!

Mendapatkan Proksi yang Sah

Perkara pertama dahulu: anda perlu mendapatkan proksi yang sah sebelum benar-benar menggunakannya. Untuk berbuat demikian, anda mempunyai dua pilihan:

  • Proksi percuma: anda boleh mendapatkan proksi secara percuma daripada tapak web seperti Senarai Proksi Percuma. Ia mudah diakses tetapi, bagaimanapun, ia boleh menjadi tidak boleh dipercayai atau lambat.
  • Proksi berbayar: perkhidmatan seperti Bright Data atau ScraperAPI menyediakan proksi yang boleh dipercayai dengan prestasi dan sokongan yang lebih baik, tetapi anda perlu membayar.

Menggunakan Proksi dengan permintaan

Sekarang anda mempunyai senarai proksi anda, anda boleh mula menggunakannya. Contohnya, anda boleh mencipta kamus seperti itu:

proxies = {
    'http': 'http://proxy_ip:proxy_port',
    'https': 'https://proxy_ip:proxy_port',
}

Kini anda boleh membuat permintaan menggunakan proksi:

import requests

proxies = {
    'http': 'http://your_proxy_ip:proxy_port',
    'https': 'https://your_proxy_ip:proxy_port',
}

response = requests.get('https://httpbin.org/ip', proxies=proxies)

Untuk melihat hasil permintaan anda, anda boleh mencetak jawapan:

print(response.status_code)  # Should return 200 if successful
print(response.text)         # Prints the content of the response

Perhatikan bahawa, jika semuanya berjalan lancar, respons harus memaparkan alamat IP pelayan proksi, bukan milik anda.

Pengesahan Proksi Menggunakan permintaan: Nama Pengguna dan Kata Laluan

Jika proksi anda memerlukan pengesahan, anda boleh mengendalikannya dalam beberapa cara.

Kaedah 1: termasuk Bukti Kelayakan dalam URL Proksi
Untuk memasukkan nama pengguna dan kata laluan untuk mengurus pengesahan dalam proksi anda, anda boleh berbuat demikian:

proxies = {
    'http': 'http://username:password@proxy_ip:proxy_port',
    'https': 'https://username:password@proxy_ip:proxy_port',
}

Kaedah 2: menggunakan HTTPProxyAuth
Sebagai alternatif, anda boleh menggunakan kelas HTTPProxyAuth untuk mengendalikan pengesahan seperti itu:

from requests.auth import HTTPProxyAuth

proxies = {
    'http': 'http://proxy_ip:proxy_port',
    'https': 'https://proxy_ip:proxy_port',
}

auth = HTTPProxyAuth('username', 'password')

response = requests.get('https://httpbin.org/ip', proxies=proxies, auth=auth)

Cara Menggunakan Proksi Berputar dengan permintaan

Menggunakan satu proksi mungkin tidak mencukupi jika anda membuat banyak permintaan. Dalam kes ini, anda boleh menggunakan proksi berputar: ini menukar alamat IP proksi pada selang masa yang tetap atau setiap permintaan.

Jika anda ingin menguji penyelesaian ini, anda mempunyai dua pilihan: putar proksi secara manual menggunakan senarai atau menggunakan perkhidmatan penggiliran proksi.

Mari lihat kedua-dua pendekatan!

Menggunakan Senarai Proksi

Jika anda mempunyai senarai proksi, anda boleh memutarkannya secara manual seperti:

import random

proxies_list = [
    'http://proxy1_ip:port',
    'http://proxy2_ip:port',
    'http://proxy3_ip:port',
    # Add more proxies as needed
]

def get_random_proxy():
    proxy = random.choice(proxies_list)
    return {
        'http': proxy,
        'https': proxy,
    }

for i in range(10):
    proxy = get_random_proxy()
    response = requests.get('https://httpbin.org/ip', proxies=proxy)
    print(response.text)

Menggunakan Perkhidmatan Putaran Proksi

Perkhidmatan seperti ScraperAPI mengendalikan penggiliran proksi untuk anda. Anda biasanya hanya perlu mengemas kini URL proksi yang mereka sediakan dan mengurus kamus URL seperti itu:

proxies = {
    'http': 'http://your_service_proxy_url',
    'https': 'https://your_service_proxy_url',
}

response = requests.get('https://httpbin.org/ip', proxies=proxies)

Kesimpulan

Menggunakan proksi dalam Python ialah teknik yang berharga untuk mengikis web, menguji dan mengakses kandungan geo-terhad. Seperti yang telah kita lihat, menyepadukan proksi ke dalam permintaan HTTP anda adalah mudah menggunakan permintaan perpustakaan.

Beberapa petua perpisahan apabila mengikis data daripada web:

  • Hormati dasar tapak web: sentiasa semak fail robots.txt tapak web dan syarat perkhidmatan.
  • Kendalikan pengecualian: operasi rangkaian boleh gagal atas pelbagai sebab, jadi pastikan anda mengendalikan pengecualian dan melaksanakan percubaan semula jika perlu.
  • Lindungi kelayakan anda: jika anda menggunakan proksi yang disahkan, pastikan bukti kelayakan anda selamat dan elakkan pengekodan keras ke dalam skrip anda.

Selamat mengekod!

Atas ialah kandungan terperinci Cara Menggunakan Proksi dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn