Jsoup爬虫学习
(我还是用了笔趣阁作为下载源== 因为之前就这么写了没改)
目前实现功能:
① 用户在终端输入书名进行检索,自动抓取匹配的书籍,并输出
② 用户输入相应的编号开始下载
③ 下载内容存在resources内用md格式存储,自带标题格式,段落与缩进
④ 可以自定义每行的字数,并自动换行
输入书名 检索
斗罗
输入序号进行下载
书名 最新章节 作者 总字数 更新日期 更新状态
0 斗罗大陆V重生唐三 第一千零七十二章 最快的比赛 唐家三少 5624K 22-10-22 连载
1 斗罗大陆外传神界传说 斗罗大陆III龙王传说正式开启! 唐家三少 543K 22-07-06 连载
2 斗罗大陆5重生唐三 第六百三十四章 王妃 唐家三少 3351K 22-03-14 连载
3 斗罗大陆III斗罗大陆3龙王传说 第一千五百一十五章 雷神之鞭! 唐家三少 11309K 21-11-18 连载
4 斗罗强少在学院 第八十七章:晋级金丹 圣光飞龙 431K 21-10-19 连载
5 从斗罗开始打卡 第2016章 大结局 夏竖琴 10783K 21-08-02 连载
6 斗罗之开局签到祖龙武魂 番外9 天凤斗罗冷遥茱的结局 炫光超佛帝 2189K 21-06-01 连载
7 斗罗大陆IV终极斗罗 后记 唐家三少 9699K 21-05-20 完成
8 斗罗大陆4终极斗罗 第一千三百九十三章 神秘声音再现 唐家三少 7421K 20-11-04 完成
9 从超级魂斗罗开始 第三十三章 独立团的邀请(5) 小小书虫03 254K 20-10-03 连载
10 斗罗大陆续集之史莱克七怪成神之路 第584章 融合武技蝶恋花(4) 洛星晨 3896K 20-10-02 完成
11 斗罗大陆之大圣归来 第五十七章:小兰她姐 全控之魂 296K 20-05-10 连载
12 斗罗之我是一只猫 第一百三十四章 再见 大鱼海棠 763K 20-05-09 连载
13 斗罗大陆 正文 唐家三少 8391K 20-04-05 完成
14 斗罗大陆外传唐门英雄传 尾声 唐家三少 449K 18-12-14 完成
15 斗罗大陆3龙王传说 第一千九百八十一章 永冻冰封!(大结局附后记) 唐家三少 12054K 18-08-24 完成
1
Start DownLoad
第一章 神界委员会 下载完毕
第二章 神界 下载完毕
第三章 生命与毁灭 下载完毕
第四章 唐三与小舞 下载完毕
第五章 唐舞麟 下载完毕
第六章 毁灭城堡 下载完毕
目前存在的问题:
① 文件存储地址未实现自定义,打包成jar运行会找不到路径,只能在idea里面运行
② 换行时是判断字符的长度,无论字母数字或是中文都是同样的长度,所以每行长度看起来层次不齐,而且末尾的符号也不会跟在上一行结尾
③ 部分文字编码显示错误(文章是gbk的 但是我转gbk会乱码 只好用utf-8)
学习心得:
①运行流程Jsoup.connect(url).get()
获取Document实例,通过select(cssQuery)
获取元素
可以通过id查找 class查找或者元素类型查找
通过获取Element的属性如element.attr("href")
或element.text()
得到最终需要的内容
使用FileWriter等IO流将数据输出到文件中
②一部分css选择器
通过#xxx
选择id为xxx的元素 如select("#content")
通过.xxx
选择class为xxx的元素 如select(".zjlist")
通过xxx
选择元素xxx 如select("div")
通过x1,x2
选择x1元素与x2元素 如select("dl,dd")
通过x1 x2
选择x1元素中的x2元素 如select("dl dd")
通过[xxx]
选择含有xxx属性的元素 如select("a[href]")
③直接通过element.text()
会自动将html里面的一些换行符<br>
空格符等替换
所以在写入文件之前先将字符串处理,如replace