嘗試使用Python 的requests 庫解析網站時,可能會遇到“403 Forbidden” 。此錯誤通常表示伺服器由於缺乏適當的授權或權限而拒絕了您的要求。
請考慮以下程式碼:
<code class="python">url = 'http://worldagnetwork.com/' result = requests.get(url) print(result.content.decode())</code>
此程式碼嘗試擷取並解碼指定 URL 的內容。但是,它會產生以下輸出:
<code class="html"><html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> <hr><center>nginx</center> </body> </html></code>
在這種特定情況下,出現問題是因為伺服器拒絕沒有 User-Agent 標頭的 GET 請求。 User-Agent 標頭標識發送請求的瀏覽器或應用程序,這有助於伺服器確定如何處理請求。
要解決此問題,請明確指定 User-Agent 標頭在您的請求請求中。以下是一個範例:
<code class="python">import requests url = 'http://worldagnetwork.com/' headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'} result = requests.get(url, headers=headers) print(result.content.decode())</code>
透過將User-Agent 標頭設定為適當的值,您可以有效地模仿瀏覽器並成功檢索網站的內容,如下輸出所示:
<code class="html"><!doctype html> <!--[...]--> <!--[...]--></code>
以上是如何修復 Python 請求中的「403 Forbidden」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!