java - Jsoup CSS 标签深入 html 页面

标签 java android android-asynctask jsoup

几个小时前,我对 jsoup 完全陌生,但我一直在阅读一些初学者教程和问题,但我无法解决我的问题。我主要只是在猜测 css 标签的正确组合,但没有任何运气。

我要访问的元素是这一行的“id”标签,我想将它存储在一个字符串变量中以便更精确。

 <div class="inElm" id="elm11329383">

它是文档中许多“inElm”类对象中的第一个,但我只需要第一个的“id”值。我会张贴图片,但我是菜鸟,这是我认为可行的...

69    Element link = doc.select("div#inElm").first();
70    String idTag = link.attr("id");
71    text.setText(idTag);

我很接近,还是我需要担心文档的层次结构才能找到它? 非常感谢任何建议!

这是整个私有(private)异步类:

private class jsouptest extends AsyncTask<Object, Object, Object>{

    @Override
    protected Object doInBackground(Object... arg0) {
        Document doc = null;
        String url = "http://www.pinkbike.com/photo/podlist/";

        try {
             doc = Jsoup.connect(url)
                       .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
                       .referrer("http://www.google.com")              
                       .get();
        } catch (NullPointerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (HttpStatusException e) {
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        Element link = doc.select("div.inElm").first();
    String idTag = link.attr("id");
    text.setText(idTag);
        return null;

    }

}

最佳答案

inElm 是一个 class 属性,而不是 id。要按类选择 元素,您需要使用点 . 而不是 #。所以试试

Element link = doc.select("div.inElm").first();
// change CSS query here -----^

关于java - Jsoup CSS 标签深入 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829383/

相关文章:

android - AsyncTask超时情况解决方案

java - 从 String[] 转换为 String,然后再次转换为 String[]

java - 我可以结束一项 Activity 并从 Fragment Switch Case 开始一项新 Activity 吗?

java - 获取 ImageView 的图像并将其发送到具有 Intent 的 Activity

android - 何时使用 JobIntentService 与 WorkManager?

android - PhoneGap + android,预填充数据库不起作用。

android - 在 SQLite (Android) 和 MS-SQL (Hosting) 之间同步数据

java - 如何将 json 字符串列表转换为 java 中的一个 JsonNode/Object

java - 对于 Camel 路由输入端点的 JBoss 嵌入式 MQ 进行 jndi 查找时出现问题

java - 不向 Android 中的 AsyncTask 传递任何内容