Maison >développement back-end >Tutoriel Python >Comment simuler une visite de navigateur avec la bibliothèque de requêtes de Python ?

Comment simuler une visite de navigateur avec la bibliothèque de requêtes de Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-11 22:09:03204parcourir

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

Comment simuler une visite de navigateur avec la bibliothèque de requêtes de Python

Lorsque vous accédez à des sites Web par programmation à l'aide d'outils tels que le package Requests de Python ou la commande wget, vous peut rencontrer des disparités dans le contenu HTML récupéré par rapport à la visite du site Web via un navigateur Web. Cet écart vient du fait que les sites Web emploient souvent des mécanismes pour faire la distinction entre les visites authentiques du navigateur et les demandes automatisées.

Une approche efficace pour surmonter ce défi consiste à simuler une visite légitime du navigateur en fournissant un en-tête « User-Agent ». dans votre demande. Cet en-tête contient des informations sur le navigateur spécifique et la version utilisée, ce qui aide le site Web à l'identifier comme une visite initiée par un humain.

Pour mettre en œuvre cette solution à l'aide de la bibliothèque Requests de Python, suivez ces étapes :

  1. Importez le module de requêtes.
  2. Définissez l'URL du site Web auquel vous souhaitez accéder.
  3. Créez un dictionnaire d'en-têtes avec la paire clé-valeur suivante : 'User-Agent' : 'Mozilla/5.0 (Macintosh ; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/39.0.2171.95 Safari/537.36'. Ceci est un exemple de chaîne User-Agent courante pour Google Chrome.
  4. Utilisez la méthode request.get() pour envoyer une requête GET au site Web, en passant le dictionnaire d'en-têtes comme argument.
  5. L'objet de réponse contient le contenu HTML, accessible à l'aide de .content.

Exemple de code :

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)

Pour référence, une liste complète des agents utilisateurs Les chaînes pour différents navigateurs sont disponibles ici :

[Liste de tous les navigateurs](https://deviceatlas.com/blog/list-of-user-agent-strings)

Alternativement, vous peut utiliser le package tiers fake-useragent, qui simplifie le processus de génération de chaînes User-Agent réalistes. Voici une démonstration de son utilisation :

from fake_useragent import UserAgent

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn