簡體   English   中英

如何修復 urllib.error.HTTPError: HTTP 錯誤 429: Too Many Requests

[英]How to fix urllib.error.HTTPError: HTTP Error 429: Too Many Requests

我使用此代碼從預訂網站獲取有關酒店的描述。

代碼:

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:請求太多。

請問有什么幫助嗎?

您向遠程服務器發出了太多請求,該服務器現在完全拒絕您的請求,以保護自己免受潛在的 DDoS 攻擊。

所以解決方案是(很可能)等到遠程服務器原諒你的違規行為......

我通過設置解決了這個錯誤:

time.sleep(1)

for循環之前

將用戶代理添加到請求 header 可以解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM