微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重复获取数据

如何解决重复获取数据

  • 您好,我正在尝试从下一页获取数据:Page ..我想在RecyclerView中加载章节编号(在本例中为121个章节)和url。但是,我无法完全解决问题。

这是搜索页面正文的代码(我对其进行了简化,以便仅可见第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中查看数据时看起来像这样:

enter image description here

始终参见Caítulo120.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));
                            }
                        }
                    }
                }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。