Android上的简单网页爬虫?

时间:2013-03-11 12:35:09

标签: java eclipse

配置:适用于Android Developper的Eclipse - jre1.7 - Windows 8(:s) -

我正在Android上开发一个小应用程序。目前,我想在MainActivity上打印我的网站。我真的试图通过stackoverflow和我的耐心来实现它,并且我正在使用以下源代码:

import java.io.IOException; 
import java.io.InputStreamReader; 
import java.io.Reader; 
import java.util.HashSet; 
import java.util.Set; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient; 

public class Crawler {



            public static void main(String[] args) throws ClientProtocolException, IOException {
            crawlPage("http://www.google.com/");
        }       

                       private static void crawlPage(String string) {
                // TODO Auto-generated method stub
                        }

        static Set<String checked = new HashSet<String();

        @SuppressWarnings("unused")         private static void main(String url) throws ClientProtocolException, IOException {

            if (checked.contains(url))
                return;

            checked.add(url);

            System.out.println("Crawling: " + url);

            HttpClient client = new DefaultHttpClient();
            HttpGet request = new HttpGet("http://www.bratiska.wordpress.com");
            HttpResponse response = client.execute(request);

            Reader reader = null;
            try {
                reader = new InputStreamReader(response.getEntity().getContent());


                String link="";
                new ParserDelegator().parse(reader, link, true);

                if (link.startsWith("http://www.libnum.fr"))
                        crawlPage(link);

            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
      } 
}

需要private static void crawlPage()方法的帮助!

1 个答案:

答案 0 :(得分:0)

这应该是Android应用吗?如果是这样,可以先将一些代码放入Activity中。大多数Android应用程序都是从某种Activity开始的,或者是某种服务。从那里可能将Web请求放在AsyncTask中,除非线程违规不是问题,但主要功能让我觉得这是为Java而不是Android编写的。抓取页面方法应该只是将输入流读入StringBuilder并将接收的文本写入TextView?你必须再给我们一些继续。也许首先将它放入Android应用程序中,我们可以从那里帮助更多。