0Pricing
Web Scraping & Bots · Leçon

Faire pivoter les agents utilisateurs et les en-têtes

Mettez en œuvre une rotation dynamique des agents utilisateurs et des en-têtes HTTP afin d’imiter un trafic de navigateur légitime et d’éviter la détection.

Faire pivoter les agents utilisateurs et les en-têtes est une leçon Web Scraping & Bots gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Web Scraping & Bots, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Web Scraping & Bots comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Avoiding Detection

When you scrape websites, they often try to detect if you're a human or a bot. If they think you're a bot, they might block you!

One common way websites spot bots is by looking at your HTTP headers. These headers contain information about your request.

Understanding HTTP Headers

Every time your browser (or a script) makes a request to a website, it sends HTTP headers. Think of them as metadata attached to your request.

  • User-Agent: Identifies your browser/OS.
  • Accept: What content types you prefer.
  • Referer: The previous page you were on.
  • Accept-Language: Your preferred language.

Your Digital Fingerprint

The User-Agent header is super important. It tells the web server what kind of client is making the request.

For example, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" identifies a Chrome browser on Windows.

Bots often use a generic User-Agent, or none at all, which is a big red flag!

Spotting Suspicious Patterns

If a website sees many requests from the same IP address, all using the exact same, generic User-Agent, it's easy to tell it's a bot.

Web servers can also analyze other headers. A real browser sends a rich set of headers, while a simple scraping script might send very few.

Building a User-Agent List

To mimic real browsers, you need a collection of diverse User-Agent strings. You can find these online!

  • Search for "list of user agents".
  • Extract them from browser requests.
  • Use libraries that maintain such lists.

Aim for a mix of different browsers (Chrome, Firefox, Safari) and operating systems.

Your First Custom Header

In Python, using the requests library, you can easily set custom headers for your requests. Let's start with a single User-Agent.

Try running this example:

import requests

url = "https://httpbin.org/headers"
headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
}

response = requests.get(url, headers=headers)
print(response.json()['headers']['User-Agent'])

Dynamic User-Agent Selection

To make your requests appear more natural, you should rotate your User-Agent. This means picking a different one for each request (or after a few requests).

We can use Python's random module to select a User-Agent from a list.

Try running this example:

import requests
import random

user_agents = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
]

url = "https://httpbin.org/headers"
random_ua = random.choice(user_agents)
headers = {"User-Agent": random_ua}

response = requests.get(url, headers=headers)
print(f"Used UA: {random_ua}")
print(response.json()['headers']['User-Agent'])

Beyond User-Agent

While User-Agent is crucial, real browsers send many other headers. Including a few more can make your bot look even more legitimate.

  • Accept-Language: e.g., en-US,en;q=0.9
  • Accept-Encoding: e.g., gzip, deflate, br
  • Connection: e.g., keep-alive

You can rotate these too, or pick a consistent set that matches your chosen User-Agent's browser type.

A More Complete Header Set

Let's combine random User-Agent selection with a few other common headers to create a more robust request.

This makes your scraping bot harder to distinguish from a regular browser.

Try running this example:

import requests
import random

user_agents = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
    "Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1"
]

url = "https://httpbin.org/headers"
random_ua = random.choice(user_agents)

headers = {
    "User-Agent": random_ua,
    "Accept-Language": "en-US,en;q=0.9",
    "Accept-Encoding": "gzip, deflate, br",
    "Connection": "keep-alive",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
}

response = requests.get(url, headers=headers)
print(f"Used UA: {random_ua}")
print("Received headers:")
for key, value in response.json()['headers'].items():
    print(f"  {key}: {value}")

Header Rotation Check

You've learned how User-Agents and other HTTP headers are used in web requests. Rotating these can help avoid detection.

Which of the following are good reasons to rotate User-Agent and other HTTP headers when scraping?

Recap: Blending In

Great job! You've learned how critical HTTP headers, especially the User-Agent, are for web scraping.

  • Websites use headers to identify clients.
  • Consistent, generic headers flag bots.
  • Rotating User-Agents and adding other common headers makes your bot harder to detect.

This is a powerful technique for blending in. Next, we'll explore proxy management to hide your IP address!

Questions Fréquemment Posées

La leçon « Faire pivoter les agents utilisateurs et les en-têtes » est-elle gratuite ?

Oui — le texte complet de « Faire pivoter les agents utilisateurs et les en-têtes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Web Scraping & Bots, passe à CoddyKit PRO. Le cours Web Scraping & Bots comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Faire pivoter les agents utilisateurs et les en-têtes » ?

Mettez en œuvre une rotation dynamique des agents utilisateurs et des en-têtes HTTP afin d’imiter un trafic de navigateur légitime et d’éviter la détection. Tu pratiques Web Scraping & Bots avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Web Scraping & Bots ?

Aucune expérience préalable n'est requise. Web Scraping & Bots sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Faire pivoter les agents utilisateurs et les en-têtes » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Web Scraping & Bots ?

Oui. Chaque leçon Web Scraping & Bots inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Faire pivoter les agents utilisateurs et les en-têtes
  2. Gestion des proxys et rotation des IP
  3. Stratégies de résolution des CAPTCHA
  4. Échapper à l’empreinte numérique des navigateurs
← Retour à Web Scraping & Bots