如何解决 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中文网其他相关文章!