Cara Menggunakan Proksi dalam 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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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

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

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? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Fastapi ...

Menggunakan Python di Terminal Linux ...

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 ...

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