首頁 > Java > java教程 > 為什麼使用 Java 進行網頁抓取時會收到 403 禁止錯誤?

為什麼使用 Java 進行網頁抓取時會收到 403 禁止錯誤?

Patricia Arquette
發布: 2024-12-15 14:19:20
原創
574 人瀏覽過

Why Am I Getting a 403 Forbidden Error When Web Scraping with Java?

如何解決Java Web 抓取的403 禁止錯誤

使用Java 抓取Google 搜尋結果時,您可能會遇到「403 Forbidden” Web 瀏覽器傳回預期結果時發生錯誤。這是因為像 Google 這樣的網站實施了反抓取措施,以防止在沒有適當使用者代理的情況下自動存取。

要解決此問題,您需要修改 Java 程式以包含使用者代理程式標頭,模擬瀏覽器請求。操作方法如下:

  1. 導入必要的庫:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
登入後複製
  1. 建立連接:
URLConnection connection = new URL("https://www.google.com/search?q=" + query).openConnection();
登入後複製
  1. 設定使用者代理header:
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
登入後複製
  1. 連線並擷取資料:
connection.connect();
BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName("UTF-8")));
登入後複製

此修改可確保您的Java 程式顯示為合法的瀏覽器,從而允許您繞過403 Forbidden 錯誤。但請注意,Google 會不斷更新其反抓取措施,因此如果將來遇到任何不可預見的錯誤,您可能需要調整程式碼。

以上是為什麼使用 Java 進行網頁抓取時會收到 403 禁止錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板