Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Memalsukan Lawatan Pelayar dengan Perpustakaan Permintaan Python?

Bagaimana Memalsukan Lawatan Pelayar dengan Perpustakaan Permintaan Python?

Patricia Arquette
Patricia Arquetteasal
2024-11-11 22:09:03206semak imbas

How to Fake a Browser Visit with Python's Requests Library?

Cara Memalsukan Lawatan Pelayar dengan Perpustakaan Permintaan Python

Apabila mengakses tapak web secara pemprograman menggunakan alat seperti pakej Permintaan Python atau arahan wget, anda mungkin menghadapi perbezaan dalam kandungan HTML yang diperoleh semula berbanding semasa melawati tapak web melalui pelayar web. Percanggahan ini berpunca daripada fakta bahawa tapak web sering menggunakan mekanisme untuk membezakan antara lawatan penyemak imbas tulen dan permintaan automatik.

Satu pendekatan berkesan untuk mengatasi cabaran ini ialah mensimulasikan lawatan penyemak imbas yang sah dengan menyediakan pengepala "Ejen Pengguna" dalam permintaan anda. Pengepala ini mengandungi maklumat tentang penyemak imbas dan versi tertentu yang digunakan, yang membantu tapak web mengenal pastinya sebagai lawatan yang dimulakan oleh manusia.

Untuk melaksanakan penyelesaian ini menggunakan perpustakaan Permintaan Python, ikut langkah berikut:

  1. Import modul permintaan.
  2. Tentukan URL tapak web yang ingin anda akses.
  3. Buat kamus pengepala dengan pasangan nilai kunci berikut: 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/39.0.2171.95 Safari/537.36'. Ini ialah contoh rentetan Ejen Pengguna biasa untuk Google Chrome.
  4. Gunakan kaedah requests.get() untuk menghantar permintaan GET ke tapak web, menghantar kamus pengepala sebagai hujah.
  5. Objek tindak balas mengandungi kandungan HTML, yang boleh diakses menggunakan .kandungan.

Kod contoh:

import requests

url = 'http://www.ichangtou.com/#company:data_000008.html'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}

response = requests.get(url, headers=headers)
print(response.content)

Untuk rujukan, senarai lengkap Ejen Pengguna rentetan untuk penyemak imbas berbeza tersedia di sini:

[Senarai semua Penyemak Imbas](https://deviceatlas.com/blog/list-of-user-agent-strings)

Sebagai alternatif, anda boleh menggunakan pakej pihak ketiga ejen pengguna palsu, yang memudahkan proses menjana rentetan Ejen Pengguna yang realistik. Berikut ialah demonstrasi penggunaannya:

from fake_useragent import UserAgent

ua = UserAgent()
request_headers = {'User-Agent': ua.chrome}

Atas ialah kandungan terperinci Bagaimana Memalsukan Lawatan Pelayar dengan Perpustakaan Permintaan 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