如何解決Java Web 抓取的403 禁止錯誤
使用Java 抓取Google 搜尋結果時,您可能會遇到「403 Forbidden” Web 瀏覽器傳回預期結果時發生錯誤。這是因為像 Google 這樣的網站實施了反抓取措施,以防止在沒有適當使用者代理的情況下自動存取。
要解決此問題,您需要修改 Java 程式以包含使用者代理程式標頭,模擬瀏覽器請求。操作方法如下:
import java.net.HttpURLConnection; import java.net.URL; import java.io.BufferedReader; import java.io.InputStreamReader;
URLConnection connection = new URL("https://www.google.com/search?q=" + query).openConnection();
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");
connection.connect(); BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName("UTF-8")));
此修改可確保您的Java 程式顯示為合法的瀏覽器,從而允許您繞過403 Forbidden 錯誤。但請注意,Google 會不斷更新其反抓取措施,因此如果將來遇到任何不可預見的錯誤,您可能需要調整程式碼。
以上是為什麼使用 Java 進行網頁抓取時會收到 403 禁止錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!