繁体   English   中英

Android上的简单网络爬虫?

[英]Simple web crawler on android?

配置:Eclipse for Android开发人员-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()方法!

这应该是一个Android应用程序吗? 如果是这样,也许可以通过将一些代码放入一个Activity来开始。 大多数Android应用都是从某种活动开始的,或者是某种服务。 从那里可能将Web请求放在AsyncTask中,除非没有违反线程的问题,但主要功能使我认为这是针对Java而非Android编写的。 爬网页面方法应该只将输入流读入StringBuilder并将接收到的文本写到TextView? 您必须给我们更多一些东西。 也许首先将其放入Android应用程序中,然后我们可以从中提供更多帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM