简单的小说网站爬虫--爬小说

news/2024/5/11 23:07:11/文章来源:https://blog.csdn.net/weixin_34406086/article/details/93920963

现在好多的小说网站只提供阅读,并不提供下载服务,既然能够读,可以在网页上看,那么小说内容一定在网页的源代码中


用浏览器,右键,查看元素,查看网页源代码,以及代码结构(火狐浏览器)


依旧使用Jsoup技术获取网页源代码(Jsoup有个选择器,把带有某种属性的标签选择出来,可以指定属性值),之后进行解析提取出有用的内容

过程:

小说网站提供的阅读服务,一个供用户选择章节进行阅读的页面,用户点击章节超链接进去之后,进行阅读,这就是我们要打开的网址


第一章:http://www.jingcaiyuedu.com/book/59396/0.html

第二章:http://www.jingcaiyuedu.com/book/59396/1.html

第三章:http://www.jingcaiyuedu.com/book/59396/2.html

………………………………………………………………

查看每个链接地址,发现一个规律,链接地址前面都是一样的,后面有一个数字是递增的,从第一章到最后一章,知道第一章的链接地址和最后一掌的链接地址,剩下的就都知道了。利用一个循环依次打开每个链接。有个问题,就是他的链接并不是挨个递增排下去的,偶尔会空出一个来,后面的代码中会解决

我们想要的东西都在代码里,标题,内容

接下来就是提取出来就好了!!!

利用io操作把获取到的内容写到文件中,由于都是汉字,利用字符流处理,避免乱码

用到字符输出流,参数设置为true,设置为可追加,因为进行几百次操作都在向这个文件中写

BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

完整代码:有效的代码压缩之后也就几行

package crawler;import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;import java.io.BufferedWriter;
import java.io.FileWriter;public class Main {public static void main(String[] args){for(int i=0;i<=542;i++) {Document doc = null;FileWriter fw=null;BufferedWriter bw=null;try {doc = Jsoup.connect("http://www.jingcaiyuedu.com/book/59396/" + i + ".html").get();fw = new FileWriter("E:\\邪王逼婚:抢来的宠妃.txt", true);bw = new BufferedWriter(fw);//提取出带class属性值为active的li标签。获取标题
                String title = doc.select("li[class=active]").text();
//                System.out.println(title);
                //提取class属性值为panel-body content-body content-ext的div标签。获取内容
                String text = doc.select("div[class=panel-body content-body content-ext]").text();
//                System.out.println(text);
                bw.write(title);//添加标题
                bw.newLine();//换行
                bw.write(text);//添加内容
                bw.newLine();bw.newLine();bw.flush();//清空缓冲区
            } catch (Exception e) {//不进行任何操作,只是捕获异常,跳出本次循环,执行下一次循环,由于链接编号中偶尔会空出一个,
                e.printStackTrace();}finally {try {fw.close();bw.close();} catch (Exception e) {//如果之前的网址打开出错,这里就会报错
                }continue;//跳出本次循环
            }}}
}
由于链接地址其中有不是挨个递增的,所以没有这个链接地址出现异常,捕获异常,最后执行finally中的continue跳出本次循环,接着执行下面的操作,不干扰程序的执行结果

每次进行io操作之后,一定要清空缓冲区,因为忘记这个事浪费了好长时间,一直在报错

其实自己从来不读小说的偷笑

转载于:https://www.cnblogs.com/duzhentong/p/7816591.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_736447.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站导航设计指南

以下内容由Mockplus团队翻译整理&#xff0c;仅供学习交流&#xff0c;Mockplus是更快更简单的原型设计工具 “如果人们在浏览网站时遇到困难&#xff0c;他们就会犹豫是否要回到该网站。” 你以前可能经历过类似的情况&#xff0c;如果你下载了一个app&#xff0c;却要花时间去…

旅游网站页面

旅游网管理页面 基于HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>杨永峰的大型网站</title> </head> <body> <!--采用table来完成布局--> <!--最外层的table&am…

网站开发人员应该知道的62件事

2019独角兽企业重金招聘Python工程师标准>>> 网上有很多关于Java内存模型的文章&#xff0c;在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是&#xff0c;很多人读完之后还是搞不清楚&#xff0c;甚至有的人说自己更懵了。…

用PWA构建一个完全离线的网站

想象一下&#xff0c;你有能力去构建一个完全离线的网站&#xff0c;为用户提供几乎瞬间加载的体验&#xff0c;同时它对于不可靠的网络又是安全及富有弹性的。这听起来既不可能&#xff0c;又不可思议。无论你是否相信&#xff0c;绝大部分现代浏览器都已经内置提供了这些功能…

阿里巴巴大神指教:这三本书三个网站将为你打开Python的大门

看看下面的那条新闻&#xff0c;在 2016 年首次超过金融业后&#xff0c;IT 业平均工资以超13万元的高薪在 2017 年继续力压金融业&#xff0c;占据各行业平均工资水平的首位&#xff01;就问你心动不心动&#xff01;心动不如行动&#xff0c;现在就给大家提供一些零基础学pyt…

三种网站建设模式浅析-模板建站、仿站or定制网站?

目前常规的网站建设模式有三种&#xff0c;模板建站、仿站和定制网站。这三种建站模式都有各自的优缺点。那做网站建设选哪种模式比较好呢&#xff1f;小编为你分析一下。一、模板建站模板建站属于三种建站模式里价格最低的一种&#xff0c;百度搜索“建站模板”&#xff0c;可…

瑞星首推“恶意网站监测网” 每天500万网民访问挂马网站

1月8日&#xff0c;瑞星宣布推出“恶意网站监测网&#xff08;http://mwm.rising.com.cn/&#xff09;”&#xff0c;这是国内首个专门针对挂马网站、钓鱼网站等互联网威胁的实时监测系统&#xff0c;所有政府机构、企业和个人用户都可以免费浏览该网站&#xff0c;全面、清晰地…

小tip: 外链地址网站标志图标API应用

2019独角兽企业重金招聘Python工程师标准>>> 一、问题引导 我们经常会用到分享功能&#xff0c;把内容或链接分享到具有SNS性质的网站&#xff0c;如人人&#xff0c;豆瓣之类。 为了增强标示性&#xff0c;降低理解成本&#xff0c;我们都会使用这些网站的标志图标…

企业建站选择阿里云服务器配置详细教程

阿里云——阿里巴巴集团旗下公司&#xff0c;是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务&#xff0c;以及大数据、人工智能服务、精准定制基于场景的行业解决方案。专业快速备案&#xff0c;7x24小时售后支持&#xff0c;助企业无忧上…

国外优秀网站:世界30大汽车品牌网站设计欣赏

在当今社会&#xff0c;名车俨然是身份地位的象征。拥有一辆名车是很多人梦寐以求的&#xff0c;相信你也是其中一员。今天这篇文章收集了30大汽车的网站设计&#xff0c;一起欣赏这些世界顶级汽车品牌的网站。 1. Lamborghini 2. Scion 3. Infiniti 4. Dodge 5. Pontiac 6. Ch…

优秀网页设计:20个立体动感的视差滚动效果网站

作为新兴的网页制作技术&#xff0c;视差滚动&#xff08;Parallax Scrolling&#xff09;效果受到越来越多的人喜欢。这种让多层背景以不同的速度移动来形成立体的运动视差效果&#xff0c;虽然纯属视觉效果&#xff0c;但在内容滚动时形成的视觉体验非常出色&#xff01;今天…

帮助你在不同尺寸屏幕下浏览网站效果的工具 - Responsivator

日期&#xff1a;2012-11-1 来源&#xff1a;GBin1.com 如果你需要开发响应式的网站的话&#xff0c;使用一个必要的浏览工具来检验不同尺寸屏幕下显示效果还是非常有用的&#xff0c;相信你肯定还记得我们以前给大家推荐的响应式网站测试工具 - Screenqueri.es&#xff0c;这…

网站课设——壁纸网站+留言板(PHP+wamp)

壁纸网站留言板源文件 文章目录一、实验环境二、数据库设计部分1、新建连接2、新建数据库3、创建表三、实现功能1、登录2、注册3、修改密码4、删除用户及留言5、留言板四、效果图1、首页2、登录界面3、注册界面4、留言板界面五、涉及到Wamp的一些问题六、结一、实验环境 Wamp …

Hacker News网站的文章排名算法工作原理

In this post Ill try to explain how Hacker News ranking algorithm works and how you can reuse it in your own applications. Its a very simple ranking algorithm and works surprising well when you want to highlight hot or new stuff. 这篇文章我要向大家介绍Hack…

网站关键词如何合理布局?

要做好网站优化&#xff0c;懂得合理布局网站关键词很重要。而我们平时写网站优化方案或是开始新站的网站优化&#xff0c;可以先从合理布局网站关键词开始。今天轩哥seo和大家谈网站关键词如何合理布局。网站每个页面的等级权重不同&#xff0c;决定了不同页面打分关键词定位有…

网站实现微博登录自动关注微博的权限,scope权限!

提示&#xff1a;本人是网站开发的新手&#xff0c;所学的一切都是自学的&#xff0c;所以有任何错误&#xff0c;请大家帮忙多多指出问题&#xff01; 最近做一个网站想要实现用微博登录&#xff0c;并且自动关注网站官方微博的功能&#xff0c;其实之前我实现过这个功能&…

11_14_第六阶段:大前端进阶||07-Vue详解||P16:Vue实战快速上手【vue+element||文档网站生成工具docsify】【观看狂神随笔】

Vue&#xff1a;实战快速上手 有些控件也可以配合Layui来实现动态的弹窗出来 现在的主流 桌面化应用&#xff1a;ElementUI弹窗化应用&#xff1a;Layui 1.创建工程 注意&#xff1a; 命令行都要使用管理员模式运行 (1.1)创建一个名为 hello-vue 的工程 &#xff0c;注意目…

用PhantomJS来给AJAX站点做SEO优化

转 https://www.mxgw.info/t/phantomjs-prerender-for-seo.html 腾讯问卷所有动态内容&#xff0c;全部由Ajax接口提供。 众所周知&#xff0c;大部分的搜索引擎爬虫都不会执行JS&#xff0c;也就是说&#xff0c;如果页面内容由Ajax返回的话&#xff0c;搜索引擎是爬取不到部分…

个人网站设计:25个国外优秀案例带给你灵感

个人网站正变得越来越流行&#xff0c;它们可以有效地进行促销&#xff0c;找工作&#xff0c;个人品牌以及与朋友和家人沟通中使用。这些个人网站往往可以作为一个创造性的出口&#xff0c;并允许网站所有者更多的自由。 在这篇文章中&#xff0c;我们将分享精心设计的25例个人…

linux安装tomcat_【实战演练】Linux操作系统07-用tomcat搭建网站

#本文欢迎转载&#xff0c;转载请注明出处和作者。实验环境&#xff1a;操作系统&#xff1a;CentOS6.5源码程序&#xff1a;JSPGOU&#xff08;开源代码分享&#xff1a;https://www.jb51.net/codes/552125.html&#xff0c;侵权删除&#xff09;tomcat&#xff1a;8.0.36数据…