【新闻】实战案例丨如何用5行代码扒小说!

雪魂 2019-4-16 1450

实战案例丨如何用5行代码扒小说!

UIBot元素获取功能

很轻松就能从网页上

扒到你想要的内容。

 

_【新闻】实战案例丨如何用5行代码扒小说!

 

这里就以小说网站笔趣阁为例,

教大家怎么扒小说

 

1、首先用Chrome打开笔趣阁的小说,(这里随便打开的一本小说,没有任何广告嫌疑,手动狗头)

_【新闻】实战案例丨如何用5行代码扒小说!

 

 

2我们先用获取元素文本功能,

获取小说的章节标题

 

_【新闻】实战案例丨如何用5行代码扒小说!

点击查找目标之后,把鼠标移动到浏览器小说标题的位置,获取标题元素,把获取到的文本存入变量sTitle中备用~

_【新闻】实战案例丨如何用5行代码扒小说!

 

3接下来我们再来获取下小说的内容,和获取标题一样使用获取元素文本功能,把小说的内容存入变量sBody

_【新闻】实战案例丨如何用5行代码扒小说!

 

_【新闻】实战案例丨如何用5行代码扒小说!

 

4我们再新建一个变量,

把刚才获取到的标题还有内容组合一下

_【新闻】实战案例丨如何用5行代码扒小说!

一般我们会把标题和内容之间用换行来隔开。

 

5处理好标题和内容的连接后,我们把内容写入到一个文本里,并且是用追加写入,这样可以保证每次的写入不会覆盖掉上一次的内容。

这里使用到的命令是追加写入文件

 

_【新闻】实战案例丨如何用5行代码扒小说!

_【新闻】实战案例丨如何用5行代码扒小说! 

 

6最后,最重要的一步来了,前面我们只是获取到当前这一章的内容,我们想要获取整本小说,拿就得用循环命令,再配合上点击下一章的操作,这样就能实现循环的把每一章内容都提取出来,最终就能把整本小说都扒下来了。

先使用鼠标点击命令,获取到【下一章】按钮的元素

_【新闻】实战案例丨如何用5行代码扒小说!

然后我们把刚才整个过程使用循环来包起来,

这样就能实现整个提取小说的过程了

 

_【新闻】实战案例丨如何用5行代码扒小说!

 

+++++++++++++++++++++++++++++++++++++++++线++++++++

 

看到这里,恭喜你,

已经初步掌握了

运用UiBot扒小说的基本技能。

然鹅

这怎么能够!?

_【新闻】实战案例丨如何用5行代码扒小说!

 

那么,现在我们就来丰富下扒小说的功能。

上回书说道必须要打开到小说的第一章才能开始扒,不够有逼格,我们可以在此基础上加上自动搜索小说,自动进入第一章,自动开始扒,这样的工具逼格才会多一些。毕竟大文豪鲁迅先生曾经说过:有逼格的东西才能拿的出手!

 

_【新闻】实战案例丨如何用5行代码扒小说!

1打开笔趣阁网站的首页,用填写元素文本命令,获取到搜索框的元素,并且扒内容设置成你想要搜索的小说名。

 

_【新闻】实战案例丨如何用5行代码扒小说!

_【新闻】实战案例丨如何用5行代码扒小说!

_【新闻】实战案例丨如何用5行代码扒小说! 

这里我们就我们就随便填一个小说名

 

2用鼠标点击命令, 

获取搜索按钮,并点击

 

_【新闻】实战案例丨如何用5行代码扒小说!

 

3之后我们就可以看到小说的目录了,

我们可以继续用鼠标点击命令

去点击小说的第一章

_【新闻】实战案例丨如何用5行代码扒小说!

 

4最后再把前文中

写好的代码复制上去就好啦

_【新闻】实战案例丨如何用5行代码扒小说!

看到做出来的工具越来越完善了,

嘴角不禁露出了微笑

 

_【新闻】实战案例丨如何用5行代码扒小说!

 

+++++++++++++++++++++++++++++++++++++++++线++++++++

 

看到这里,用UiBot获取小说的功能

算是做的差不多了。

氮素

距离真正的实用

貌似还差那么一点点。

_【新闻】实战案例丨如何用5行代码扒小说!

 

要做到实用,我们还需解决这些问题:

1

搜索不同关键字小说时的兼容性(搜索不到怎么办?)

2

需要考虑网速差怎么办

3

小说章节全部收集完成的判断

 

针对这些问题点

我们逐个解决:

 

1、提高元素采集的兼容性

用之前帖子中代码来运行会发现一个问题,用教程中的关键字搜索小说可以正常,但是换了个名字就不正常了,不会自动去点击小说的第一章开始采集。

造成这种问题的关键就在于元素的特征,我们再选择完元素之后右侧的属性面板中,可以看到有一个【目标】属性,这个就是元素的特征串,点击右边的按钮,我们可以打开这样的界面。

 

_【新闻】实战案例丨如何用5行代码扒小说!

 

这个就是UIBot特有的元素特征了,下面树状结构就是选择的元素的层级特征。

我们可以看到上面有一些titleaaname这样的特征,结合上后面的内容不难发现,这个就表示该元素相关的页面标题,还有该元素的具体内容。

这些元素是有助于我们进行精确的定位的,但是在这里如果精确到具体的文本的话,那兼容性就不够,其他小说的名称不同就无法匹配到,所以我们可以把titleaaname这两个选项的勾去掉,不对这两个特征进行匹配就行了。修改后记得点保存按钮。

这里只是初步的介绍下元素特征,后续还会有详细的元素特征的教程,大家可以学习后灵活的去进行修改。

 

2利用元素是否存在的判断来提高兼容性

之前的脚本没有对网速慢的情况进行处理,实际上要处理是很容易的,只需要使用循环结构,在关键的地方循环判断下正确的元素是否出现,出现就表示网页正常加载,跳出循环继续即可。

第一个要判断的地方就是点击搜索按钮后页面跳转。

判断到有这种元素出现后,退出循环进行之后的采集。

 

_【新闻】实战案例丨如何用5行代码扒小说!

 

当判断到这种元素时

就表示搜索的结果不对

停止脚本

 

_【新闻】实战案例丨如何用5行代码扒小说!

_【新闻】实战案例丨如何用5行代码扒小说!

同样需要判断的的地方是

章节的跳转

要确保小说内容

加载成功后再开始采集

 

_【新闻】实战案例丨如何用5行代码扒小说!

3最后一步就是当采集完最后一章时能自动结束。

不难发现我们再最后一章的时候继续点击下一章的时候,会跳回小说的目录页面,我们可以通过判断目录元素是否存在来判断小说是否采集完毕了。

 

_【新闻】实战案例丨如何用5行代码扒小说!

 

至此,我们圆满完成了

扒小说的任务!

_【新闻】实战案例丨如何用5行代码扒小说!

 

 

_【新闻】实战案例丨如何用5行代码扒小说!


最新回复 (0)
返回
发新帖