怎样用Java做网站数据采集,在一个网站抓取数据分析后根据定制的格式保存到自已的数据库中? 
还可以定制选择条件抓取数据保存到自己的数据库中?
需要Java哪些类库 
运用到的原理

解决方案 »

  1.   

    直接通过java.net.URLConnection提供的相关接口,向你要抓取的网站的页面的URL发送请求,然后解析得到的响应数据,把你认为有用的数据保存到数据库就可以了,很简单。
      

  2.   

    规模小的话,用apache httpclient可以试试看。
      

  3.   


    1.网页内容获取
         java.io.InputStream   in;
          java.net.URL url = new java.net.URL(www.xyz.com/content.html);
          java.net.HttpURLConnection connection = (java.net.HttpURLConnection)
              url.openConnection();
          connection = (java.net.HttpURLConnection) url.openConnection();
         //模拟成IE
          connection.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
          connection.connect();
           in = connection.getInputStream();
          java.io.BufferedReader breader =
              new BufferedReader(new InputStreamReader(in , "GBK"));
          String str=breader.readLine());
          while(st != null){
            System.out.println(str);
             str=breader.readLine());
          }
      

  4.   

    需要解析HTML文档吗?如果要解析可以用HTMLParser(http://htmlparser.sourceforge.net/)
      

  5.   

    网络爬虫 
    lucene
    -------------------------------
     java菜鸟学堂QQ群144648357
      

  6.   

    用HttpClient抓取了数据之后,可以用HtmlCleaner对抓取下来的网页解析
      

  7.   

    用pythn写过爬虫抓数据,很简单,打开url连接然后用正则表达式截自己要的东西。java应该类似吧
      

  8.   


    import java.io.IOException;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;public class Jsoup01 {    public static void main(String[] args) {        String getUrl = "http://www.epzw.com/files/article/topmonthvisit/0/1.htm";
            String g1 = ".grid > tbody > tr > td > strong > a";
            String g2 = "abs:href";
            try {
                Document doc = Jsoup.connect(getUrl).timeout(60000).get();
                Elements links = doc.select(g1);
                for (Element link : links) {
                    String bookURL = link.attr(g2);
                    String bookTitle=link.text();
                    System.out.println(bookURL+"   "+bookTitle);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }}