Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jsoup在异步任务Android中解析HTML_Java_Android_Android Layout_Android Intent_Jsoup - Fatal编程技术网

Java jsoup在异步任务Android中解析HTML

Java jsoup在异步任务Android中解析HTML,java,android,android-layout,android-intent,jsoup,Java,Android,Android Layout,Android Intent,Jsoup,我正在尝试使用Android解析器解析HTML 如果我运行我的代码,我就无法进入for循环;程序执行在for循环之前停止(不输出错误) 我放了日志?当我在普通java项目中运行相同的代码时,我能得到结果吗 private class DownloadTwitterTask extends AsyncTask<String, Void, List<String>> { String content; protecte

我正在尝试使用Android解析器解析HTML

如果我运行我的代码,我就无法进入for循环;程序执行在for循环之前停止(不输出错误)

我放了日志?当我在普通java项目中运行相同的代码时,我能得到结果吗

private class DownloadTwitterTask extends
            AsyncTask<String, Void, List<String>> {
        String content;

        protected List<String> doInBackground(String... urls) {


            try {
                doc = Jsoup.connect("https://twitter.com/someperson/").get();


            } catch (IOException e) {
                // TODO Auto-generated catch block
                Log.d("Exception", "Exception");

                e.printStackTrace();
            }


            Elements elements = doc.getElementsByAttributeValue("class",
                    "js-tweet-text tweet-text");


            for (int j=0;j<elements.size();j++) {


                Element tmp = elements.get(j);
                String value = tmp.text();

                twitterList.add(value);

            }

            return twitterList;

        }

        protected void onPostExecute(List<String> result) {

            tadaptor = new TwitterLazyAdaptor(INFOActivity.this, result);
            // this.setListAdapter(fadaptor);
            lv1.setAdapter(tadaptor);

        }
    }
私有类下载TwitterTask扩展
异步任务{
字符串内容;
受保护列表doInBackground(字符串…URL){
试一试{
doc=Jsoup.connect(“https://twitter.com/someperson/).get();
}捕获(IOE异常){
//TODO自动生成的捕捉块
Log.d(“例外”、“例外”);
e、 printStackTrace();
}
Elements=doc.getElementsByAttributeValue(“类”,
“js推文推文文本”);
对于(int j=0;j您还应该检查“doc”是否为空。如果为空,可能是连接有问题。您也可以这样选择
Elements=doc.select(“p.js-tweet-text tweet text”);
其中“p”是您要查看的标记,然后是类属性。您还设置了
在哪里执行
下载TwitterTask

您可以尝试以下方法:

doc.select(".js-tweet-text.tweet-text")
类的开头为.before,空格为.before“tweet text”

更新: 我将我的解决方案与你的进行了比较,得出了相同的结果

你也可以试着设置用户代理。有时一个网站会返回明显不同的html

        Document doc = Jsoup.connect("https://twitter.com/someperson/")
                .userAgent("Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0")
                .get();

也许
元素
只是空的?这样就没有什么可循环的了,你就不会进入你的
for
:)但是我正在获取元素值,如果我在普通java项目中运行,也许twitter链接会将你重定向到另一个移动站点:)?