一个简单的爬虫程序

来源:互联网 发布:洛阳网络设计 编辑:程序博客网 时间:2024/05/18 00:17

以下demo是一个简单的爬虫程序:

package cn.itcast.core.tools;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;/** * @author Administrator web网站工具类 */public class WebTool {    /**     * 向指定URL发送GET方法的请求     *      * @param url     *            发送请求的URL     * @param param     *            请求参数,请求参数应该是name1=value1&name2=value2的形式。     * @return URL所代表远程资源的响应     */    public static String sendGet(String url, String param, String enCode) {        String result = "";        BufferedReader in = null;        try {            String urlName = url + "?" + param;            URL realUrl = new URL(urlName);            // 打开和URL之间的连接            URLConnection conn = realUrl.openConnection();            // 设置通用的请求属性            conn.setRequestProperty("accept", "*/*");            conn.setRequestProperty("connection", "Keep-Alive");            conn.setRequestProperty("user-agent",                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");            // 建立实际的连接            conn.connect();            // 获取所有响应头字段            Map<String, List<String>> map = conn.getHeaderFields();            // 遍历所有的响应头字段            for (String key : map.keySet()) {                // System.out.println(key + "--->" + map.get(key));            }            // 定义BufferedReader输入流来读取URL的响应            in = new BufferedReader(                    new InputStreamReader(conn.getInputStream(), enCode));            String line;            while ((line = in.readLine()) != null) {                result += "\n" + line;            }        } catch (Exception e) {            System.out.println("发送GET请求出现异常!" + e);            return "发送GET请求出现异常!";        }        // 使用finally块来关闭输入流        finally {            try {                if (in != null) {                    in.close();                }            } catch (IOException ex) {                ex.printStackTrace();            }        }        return result;    }    public static void main(String[] args) {        String str = WebTool.sendGet("http://localhost:8082/product/detail",                "productId=438", "utf-8");        System.out.println(str);    }}