Python. Прошу совета с парсингом веб-страницы - результат парсинга конкретного URL - "402 Payment Required"

Есть простой скрипт:

import requests
from bs4 import BeautifulSoup

url = 'https://www.drive2.ru/'
r = requests.get(url)

soup = BeautifulSoup(r.text, 'lxml')
print(soup)

Если url = 'https://www.drive2.ru/' то результат работы скрипта:

<html>
<head><title>402 Payment Required</title></head>
<body>
<center><h1>402 Payment Required</h1></center>
<hr/><center>nginx</center>
</body>
</html>


Process finished with exit code 0

Пробовал другие других сайтов - выдает нормальный HTML. Проблема конкретно с этим сайтом: https://www.drive2.ru/

Подскажите в какую сторону копать. Опыта в парсинге почти нет.


Ответы (1 шт):

Автор решения: nomnoms12

Добавьте заголовок User-Agent к Вашему запросу (а точнее — измените его). Видимо, сервер фильтрует запросы и отклоняет стандартный заголовок библиотеки requests.

Пример:

HEADERS = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.',
}

r = requests.get(url, headers=HEADERS)
→ Ссылка