从零开发一款txt小说下载器【一】准备篇

话不多说,淦!

首先,我们需要确定完成哪些需求?

主功能搜索内容(okhttp近期新版4.3.0实现),以列表显示(本次实战的目的是复习listview,故以listview实现),点击每项(以item的onclick方法实现),下载(okdownload近期新版1.0.7实现)。

那么,主要需要开发的东西就明了了。我们现在需要做的是整理好数据的来源。那么这里我以https://m.bookbao8.com为获取网站。

我们既然要用到这个网站的搜索,那就先搜索试试

看看地址栏,为

https://m.bookbao8.com/Search/q_aa

我们根据经验,就可以大胆假设这个网站“搜索”的地址就是

"https://m.bookbao8.com/Search/q_"+关键词

随后再搜索其他的东西,果然确实。此时当你搜索中文字的时候,会发现网址后面 q_ 后面变成了一堆乱码,如

https://m.bookbao8.com/Search/q_%25u4E2D%25u6587

别担心,这是因为url中会对中文进行编码,它所代表的还是你输入的汉字。

但是,怎么切换搜索结果的页数呢?网址中也不能看出来。其实是可以看出来的,只不过此时的网址不是这个网站完整的搜索地址,我们此时取个源码瞧瞧。

由于我一般找这些东西在手机上,也一般用的手机上的抓包、取源等工具,故这里我用电脑上最简单的方法,点击F12键。

看框出来的63-65行

<a href="/search-p_1-q_aa-o_0.html" class="am-btn am-btn-primary am-btn-sm am-radius am-disabled">首页</a> 
<a href="/search-p_1-q_aa-o_0.html" class="am-btn am-btn-primary am-btn-sm am-radius am-disabled">上一页</a> 
<a href="/search-p_2-q_aa-o_0.html" class="am-btn am-btn-primary am-btn-sm am-radius ">下一页</a> 
<a href="/search-p_5-q_aa-o_0.html" class="am-btn am-btn-primary am-btn-sm am-radius ">尾页</a>

相信大家至少有一点html php基础,那么就很明了了。搜索结果一共有5页,搜索出来的首页为第1页,下一页为第2。把这三个数字及意义带到这四行代码中去品。那么我们得出了搜索的完整地址

"https://m.bookbao8.com/search-p_"+页数+"-q_"+关键词+"-o_0.html"

那么,搜索的结果我们需要显示到列表中,其包括书名、作者、书本地址(即href后的链接。便于之后查询书本信息)。

看源码的38-59行,我们就需要截取整个源码的 <ul class="am-list"> 到 </ul> 部分。

我们需要显示的东西全在这里,开发时就需要通过分割(split方法分割成数组)、截取(substring方法拿想要的内容)、替换(replace方法去除多余的东西)等拿到自己想要的内容和格式。

<li class="am-g"><a href="/book/201803/22/id_XNTk2NTE0.html">AA制婚约:试婚100天 <span class="dark">(七十柒)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201708/27/id_XNTg2Mjc5.html">璀璨星路 <span class="dark">(Aaron)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201505/13/id_XMzk5Mzgz.html">宰执天下 <span class="dark">(cuslaa)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201706/20/id_XNTgwNzIx.html">最强王者之都市封神 <span class="dark">(baal心雨)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201703/18/id_XNTY2NDQw.html">东京异闻录 <span class="dark">(aaron)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201612/26/id_XNTU0OTEx.html">璀璨星路[娱乐圈] <span class="dark">(aaron)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201612/26/id_XNTU0ODkw.html">隐婚盛宠:豪门契约<span style="color:red">aa</span><span class="dark">(秦月纱)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201609/21/id_XNTQxNjAx.html">璀璨星路[娱乐圈]. <span class="dark">(aaron)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201508/12/id_XNDU4Njcx.html">名少的神秘老婆:豪门枭宠<span style="color:red">aa</span><span class="dark">(十月初)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201608/17/id_XNTM2NzQ4.html">宝贝甜妻AA制 <span class="dark">(草莓青青)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201606/15/id_XNTI5MjU4.html">奉旨试婚,太子王妃AA制 <span class="dark">(醉墨香)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201605/02/id_XNTM1MDE3.html">我的亲亲老婆:豪门隐婚AA制 <span class="dark">(十月初)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201505/13/id_XMzk5MjY4.html">宰执天下 <span class="dark">(cuslaa)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201212/13/id_XNTMzODQ5.html">闪婚,亲亲老婆AA制 <span class="dark">(草莓青青)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201505/16/id_XNDA1ODg3.html">六世情缘 <span class="dark">(渡Aaron)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201505/17/id_XNDEwNTM0.html">好莱坞大亨[美娱+商战] <span class="dark">(Aaron)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201607/08/id_XNTI5MTE4.html">蚀骨毒爱,腹黑总裁求放过 <span class="dark">(aa制的小妖)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/200907/24/id_XNTA0NzI0.html">哆啦A梦之机器王国 <span class="dark">(AA梦)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201505/16/id_XNDA2NTEx.html">AA制魔幻学院 <span class="dark">(沫丶尕涩)</span><i class="am-icon-angle-right"></i></a></li>
<li class="am-g"><a href="/book/201512/10/id_XNDg2MDg1.html">时空掌控者的悠闲生活 <span class="dark">(tianaa)</span><i class="am-icon-angle-right"></i></a></li>

搜索相关的已经整理好了。搜索完了,点击列表,你总得能提供给用户简单的详细信息吧,就需要再开发一个详细信息的界面。老规矩,我们需要根据原网页上的数据来获取。

  • 以下内容待更新,先写搜索的具体开发过程

随意点开搜索结果的一本书,以这个《璀璨星路》为例

图片 详细信息

点开后的网址为

https://m.bookbao8.com/book/201708/27/id_XNTg2Mjc5.html

哎哟,这就是直接这个网站域名加上刚才源码中href后面的地址拼接在一起。所以书本的信息网址应该根据我们获取的东西如下拼接

"https://m.bookbao8.com/"+href内容

那么还是老规矩,F12取源

猜你喜欢

转载自www.cnblogs.com/bigcn/p/12209803.html