Android 使用jsoup从internet获取数据

Android 使用jsoup从internet获取数据,android,android-studio,jsoup,Android,Android Studio,Jsoup,**您好,我试图从一个页面获取数据,但我不知道如何获取这些数据:第120章和取消url链接 这是第页的代码(我简化了它): 在这一行中,我们可以看到我需要的url: <a href="https://lectortmo.com/view_uploads/599487" class="btn btn-default btn-sm"> 您可以使用以下两个链接获取您要查找的链接: Elements data = doc.select("d

**您好,我试图从一个页面获取数据,但我不知道如何获取这些数据:第120章和取消url链接

这是第页的代码(我简化了它):

在这一行中,我们可以看到我需要的url:

<a href="https://lectortmo.com/view_uploads/599487" class="btn btn-default btn-sm">

您可以使用以下两个链接获取您要查找的链接:

Elements data = doc.select("div.row a");
for (Element e : data)
{
    // process the link
}
或者,您也可以使用以下方法单独获取它们:

Elements data = doc.select("div.row>.col-10 a");
if (data.size() == 1)
{
    Element e = data.get(0);
    // process col-10 link
}

data = doc.select("div.row>.col-2 a");
if (data.size() == 1)
{
    Element e = data.get(0);
    // process col-2 link
}

您遇到的主要问题是col-2元素没有嵌套在col-10元素中,因此循环将找不到任何项。

您可以更新您的问题以显示Log.d行的输出内容吗?是的,我用screen@spuggiehawkhm更新了代码。进入“data”变量的那一行只是包含col-10类的HTML的一行。在获得该行之后,代码看起来希望该div的子级包含col-2类,但这是在一个单独的块中。如果您只需要该链接,可以使用:…=文档选择(“div.row>.col-10a”)或…=如果您只需要col-2链接,请选择(“div.row>.col-2a”)。也就是说,不需要循环遍历元素,只需直接访问它们。好吧,我可以用另一种方法来解决我的问题以获取数据,但谢谢你。感谢你的回答,我可以解决它
@Override
    protected ArrayList<TMODatosSeleccion> doInBackground(Void... voids) {
        String url = getIntent().getStringExtra("valor");

        tmoDatosSeleccions.clear();
        try {
            Document doc = Jsoup.connect(url).get();

            Elements data = doc.select("div.row>.col-10");
            int size = data.size();
            Log.d("doc", "doc: "+doc);
            Log.d("data", "data: "+data);
            Log.d("size", ""+size);
            for (Element e : data) {
                String numeroCap = e.select("a").attr("none");
                String urlManga = e.select("div.row>.col-2").select("a").addClass("btn").attr("href").trim();
                tmoDatosSeleccions.add(new TMODatosSeleccion(numeroCap, urlManga));
            }
        }  catch (IOException e) {
            e.printStackTrace();
        }
        return tmoDatosSeleccions;
    }
Elements data = doc.select("div.row a");
for (Element e : data)
{
    // process the link
}
Elements data = doc.select("div.row>.col-10 a");
if (data.size() == 1)
{
    Element e = data.get(0);
    // process col-10 link
}

data = doc.select("div.row>.col-2 a");
if (data.size() == 1)
{
    Element e = data.get(0);
    // process col-2 link
}