Rumah pembangunan bahagian belakang Tutorial Python Cara Menggunakan Proksi dalam Python

Cara Menggunakan Proksi dalam Python

Nov 16, 2024 pm 12:00 PM

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',
}
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk

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',
}
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Apr 01, 2025 pm 10:51 PM

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mendapatkan data berita yang melangkaui mekanisme anti-crawler Investing.com? Bagaimana untuk mendapatkan data berita yang melangkaui mekanisme anti-crawler Investing.com? Apr 02, 2025 am 07:03 AM

Memahami Strategi Anti-Crawling of Investing.com Ramai orang sering cuba merangkak data berita dari Investing.com (https://cn.investing.com/news/latest-news) ...

See all articles