问题描述
**嗨,我正尝试从页面获取数据,但我不知道如何获取此数据:第120章和de url链接
<div class="row">
<div class="col-12">
<div class="card chapters" id="chapters">
<ul class="list-group list-group-flush">
<li class="list-group-item p-0 bg-light upload-link" data-index="0">
<h4 class="px-2 py-3 m-0">
<div class="row">
<div class="col-10 text-truncate">
<a style="display: block;" class="btn-collapse" onclick="collapseChapter('collapsible490362')" role="button"> Capítulo 120.00</a>
</div>
</div>
</h4>
<div style="display: block;" id="collapsible490362">
<div class="card chapter-list-element">
<ul class="list-group list-group-flush chapter-list">
<li class="list-group-item">
<div class="row">
<div class="col-2 col-sm-1 text-right">
<a href="https://lectortmo.com/view_uploads/599487" class="btn btn-default btn-sm">
<span class="fas fa-play fa-2x" style="color:#2957ba"></span>
</a>
</div>
</div>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
在这一行中,我们可以看到我需要在TextView
中显示的文本(第120章),但我不知道该怎么获得
<a style="display: block;" class="btn-collapse" onclick="collapseChapter('collapsible490362')" role="button"> Chapter 120</a>
在这一行中,我们可以看到我需要的网址:
<a href="https://lectortmo.com/view_uploads/599487" class="btn btn-default btn-sm">
@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
}
您遇到的主要问题是col-2元素未嵌套在col-10元素内,因此您的循环将找不到任何项目。