Как исправить urllib.error.HTTPError: ошибка HTTP 429: слишком много запросов
Я использую этот код для получения описания отеля с сайта бронирования.
Код:
from flask import Flask, request, jsonify, Response
from functools import wraps
from geopy.geocoders import Nominatim
import requests
from bs4 import BeautifulSoup
from googlesearch import search
flask = Flask(__name__)
@flask.route('/hotel', methods=['POST'])
@requires_auth
def postJsonHandler():
query = "www.booking.com/hotel/eg/" + data['Hotel Name']
print(query)
for j in search(query, tld="co.in", num=1, stop=1):
print(j)
r = requests.get(j)
soup = BeautifulSoup(r.text, "lxml")
answ = soup.find("div", {"id": "property_description_content"}).text
print(answ)
result = ('Hotel Name: ' + data['Hotel Name'], "latitude: " + str(loc.latitude), "longitude: " + str(loc.longitude), "Address: " + str(loc.address), "Description: " + answ)
return jsonify(result), 200
Но я получаю эту ошибку:
urllib.error.HTTPError: Ошибка HTTP 429: слишком много запросов.
Любая помощь, пожалуйста?
3 ответа
Вы сделали слишком много запросов к удаленному серверу, который теперь полностью отклоняет ваши запросы, чтобы защитить себя от потенциальной DDoS-атаки.
Таким образом, решение (скорее всего) состоит в том, чтобы подождать, пока удаленный сервер не простит ваш проступок ...
Добавление User-Agent в заголовок запроса может решить вашу проблему.