一尘不染

如何从Servlet获取给定URL的来源?

jsp

我想从我的servlet中读取给定URL的源代码(HTML标记)。

例如,URL为http://www.google.com,我的servlet需要读取HTML源代码。我之所以需要这样做,是因为我的Web应用程序将读取其他网页并获取有用的内容并对其进行处理。

可以说,我的应用程序显示了一个城市中一个类别的商店清单。该列表是如何生成的,我的Web应用程序(Servlet)会通过给定的网页来显示各种商店并读取内容。通过源代码,我的servlet过滤了该源并获得有用的详细信息。最后创建列表(因为我的servlet无法访问给定URL的Web应用程序数据库)。

任何知道的解决方案吗?(特别是我需要在servlet中执行此操作)。如果您认为还有另一种从其他站点获取详细信息的最佳方法,请告诉我。

谢谢


阅读 260

收藏
2020-06-08

共1个答案

一尘不染

您尝试做的事情称为网页抓取。皮划艇和类似的网站做到了。可以在网上搜索它;)在Java中可以做到这一点。

URL url = new URL(<your URL>);

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
  response.append(inputLine + "\n");
}

in.close();

响应将为您提供该URL返回的完整HTML内容。

2020-06-08