java - Android:检索网站 html - 不起作用

标签 java android

我搜索了互联网,并开发了我认为可以以可读形式获取网站 html 的代码。但是,我仍然无法完成这项工作。这是我的代码:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DownloadTask task = new DownloadTask();
        task.execute("http://www.cnn.com");

    }

    private class DownloadTask extends AsyncTask<String, Void, String>{

        @Override
        protected String doInBackground(String... urls) {
            HttpResponse response = null;
            HttpGet httpGet = null;
            HttpClient mHttpClient = null;
            String s = "";

            try {
                if(mHttpClient == null){
                    mHttpClient = new DefaultHttpClient();
                }


                httpGet = new HttpGet(urls[0]);


                response = mHttpClient.execute(httpGet);
                s = EntityUtils.toString(response.getEntity(), "UTF-8");


            } catch (IOException e) {
                e.printStackTrace();
            } 
            return s;
        }

        @Override
        protected void onPostExecute(String result){
            final TextView textview1 = (TextView) findViewById(R.id.headline);
            textview1.setText(result);

        }
    }
}

当我尝试此操作时,应用程序在启动时崩溃,LogCat 如下所示:

07-26 16:13:42.561: W/dalvikvm(23584): threadid=12: thread exiting with uncaught exception (group=0x416dfda0)
07-26 16:13:42.561: E/AndroidRuntime(23584): FATAL EXCEPTION: AsyncTask #1
07-26 16:13:42.561: E/AndroidRuntime(23584): Process: com.app.firstapp, PID: 23584
07-26 16:13:42.561: E/AndroidRuntime(23584): java.lang.RuntimeException: An error occured while executing doInBackground()

我不知道为什么会发生这种情况,有谁知道如何修改我的代码以使其工作?提前致谢。

最佳答案

jsoup 可能对您有帮助。 链接:http://jsoup.org

要在 jsoup 中获取 HTML 页面,您只需执行以下操作:

Jsoup.connect("http://google.com ").get();

然后,您可以从该 HTML 使用 Jsoup 解析您需要的 HTML 中的任何数据。 链接:http://jsoup.org/cookbook/extracting-data/dom-navigation

编辑:我想念这个问题。我以为您在获取 HTML 时遇到问题,而不是后台出现问题。

关于java - Android:检索网站 html - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975605/

相关文章:

java - 下载文件时文件名问题中的空格

java - 使用非构造函数方法反序列化为类

android - 位图内存不足错误

android - 热代码替换失败

java - 确定对象类型然后从 Snake yaml.load(InputStream) 转换对象的方法

java - 在JAVA中生成特定范围内的随机日期

android - 从异步回调更新 Ionic View

android - 打开浏览器 Activity ,但阻止它出现在 Activity 历史记录中

java - Realm DB 在 Android 中变得疯狂

android - 不支持本地 .aar 文件