重复获取数据
Repetition in obtaining data
- 嗨,我正在尝试从下一页获取数据:Page..我想在我的 RecyclerView 中加载章节编号(在本例中有 121 章)和 url。但是,我一直没能搞定。
这是搜索时页面Body的代码(我简化了它,所以只有第120章的li可见,但下面还有更多li):
<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">
<hr class="mx-0 my-1">
<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>
我要的数据是章节号:
Capítulo 120.00
Capítulo 119.00
etc
这就是我解析数据的方式:
@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.text-truncate");
Elements dataDos = doc.select("div.col-2.col-sm-1.text-right");
for (Element e1 : data) {
String numeroCap = e1.select("a").html();
numeroCap = numeroCap.replaceAll("\<.*?\>", "").trim();
for(Element e2 : dataDos){
String urlManga = e2.select("a").attr("href");
tmoDatosSeleccions.add(new TMODatosSeleccion(numeroCap, urlManga));
}
}
} catch (IOException e) {
e.printStackTrace();
}
return tmoDatosSeleccions;
}
有人能告诉我如何正确地做到这一点吗?因为在 TextView
中查看数据时它看起来像这样:
总是看到 Caítulo 120.00
解决方法是:
Elements data = doc.select("li.list-group-item.p-0.bg-light.upload-link");
Log.d("items", "total: " + data.size());
for (Element e1 : data) {
String numeroCap = "";
String urlMan = "";
if(e1.select("div.col-10.text-truncate").size() > 0){
numeroCap = e1.select("a").get(0).text();
numeroCap = numeroCap.replaceAll("\<.*?\>", "").trim();
if(e1.select("div.col-2.col-sm-1.text-right").size() > 0 ){
urlMan = e1.select("a.btn.btn-default.btn-sm").get(0).attr("href");
if(urlMan.contains("/paginated")){
urlMan.replace("/paginated", "/cascade");
tmoDatosSeleccions.add(new TMODatosSeleccion(numeroCap, urlMan));
}else{
tmoDatosSeleccions.add(new TMODatosSeleccion(numeroCap, urlMan));
}
}
}
}
- 嗨,我正在尝试从下一页获取数据:Page..我想在我的 RecyclerView 中加载章节编号(在本例中有 121 章)和 url。但是,我一直没能搞定。
这是搜索时页面Body的代码(我简化了它,所以只有第120章的li可见,但下面还有更多li):
<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">
<hr class="mx-0 my-1">
<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>
我要的数据是章节号:
Capítulo 120.00
Capítulo 119.00
etc
这就是我解析数据的方式:
@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.text-truncate");
Elements dataDos = doc.select("div.col-2.col-sm-1.text-right");
for (Element e1 : data) {
String numeroCap = e1.select("a").html();
numeroCap = numeroCap.replaceAll("\<.*?\>", "").trim();
for(Element e2 : dataDos){
String urlManga = e2.select("a").attr("href");
tmoDatosSeleccions.add(new TMODatosSeleccion(numeroCap, urlManga));
}
}
} catch (IOException e) {
e.printStackTrace();
}
return tmoDatosSeleccions;
}
有人能告诉我如何正确地做到这一点吗?因为在 TextView
中查看数据时它看起来像这样:
总是看到 Caítulo 120.00
解决方法是:
Elements data = doc.select("li.list-group-item.p-0.bg-light.upload-link");
Log.d("items", "total: " + data.size());
for (Element e1 : data) {
String numeroCap = "";
String urlMan = "";
if(e1.select("div.col-10.text-truncate").size() > 0){
numeroCap = e1.select("a").get(0).text();
numeroCap = numeroCap.replaceAll("\<.*?\>", "").trim();
if(e1.select("div.col-2.col-sm-1.text-right").size() > 0 ){
urlMan = e1.select("a.btn.btn-default.btn-sm").get(0).attr("href");
if(urlMan.contains("/paginated")){
urlMan.replace("/paginated", "/cascade");
tmoDatosSeleccions.add(new TMODatosSeleccion(numeroCap, urlMan));
}else{
tmoDatosSeleccions.add(new TMODatosSeleccion(numeroCap, urlMan));
}
}
}
}