我正在用 jsp 制作一个基于 Web 的应用程序,我需要在其中从其他网站获取数据。我不知道该怎么做。我在 scrapperwiki 中进行了搜索,但没有任何与 jsp 相关的内容。
那么如何使用jsp从其他网站抓取数据呢?
观察网页的来源并解析它们。有一个 项目使它变得容易。
最简单的方法是使用 URLConnection:
<%@ page language="Java" import="java.net.*,java.io.*"%>
<%
try {
URL url = new URL("http://other-website/url/test.txt");
URLConnection conn = url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(false);
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line=null;
line = br.readLine();
while ( line != null ) {
%>
<%=line%>
<BR>
<%
line = br.readLine();
}
br.close();
} catch(Exception e) {
e.printStackTrace();
}
%>
当然,最好将此代码放在 java 控制器 servlet 中,而不是将其用作 JSP 中的 scriptlet,或者使用任何 MVC 框架而不是纯 Servlet + JSP 更好。