CN107562936A - 一种基于Jsoup的网页新闻列表的抓取及保存方法 - Google Patents
一种基于Jsoup的网页新闻列表的抓取及保存方法 Download PDFInfo
- Publication number
- CN107562936A CN107562936A CN201710858359.6A CN201710858359A CN107562936A CN 107562936 A CN107562936 A CN 107562936A CN 201710858359 A CN201710858359 A CN 201710858359A CN 107562936 A CN107562936 A CN 107562936A
- Authority
- CN
- China
- Prior art keywords
- crawl
- txt
- jsoup
- news list
- news
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明涉及一种基于Jsoup的网页新闻列表的抓取及保存方法,包括:建立保存新闻列表的txt文档,设置写入txt中的新闻列表的编码方式;写入待抓取的新闻列表网页的URL地址;用Jsoup解析器将网页的HTML语言格式解析成能被后台直接处理的文本格式;将解析后的文本格式数据封装成对象或数组类型,通过遍历生成流文件;将流文件导出至txt中,实现网页新闻列表的抓取及保存。本发明的有益效果:直接在本地创建txt文档保存抓取内容,避免了安装及创建数据库的麻烦,大大减小了程序的运行负担与操作难度,节约了时间;使用Jsoup解析器,采用内置的选择器方法,能够更加简单直观地抓取新闻的标题、链接及发布时间等内容。
Description
技术领域
本发明属于网页信息技术分析处理技术领域,具体涉及一种基于Jsoup的网页新闻列表的抓取及保存方法。
背景技术
新闻是社会信息传播的主要手段,互联网的飞速发展使新闻的传播更加方便与快捷,许多行业常常需要各种新闻信息,通常会从网络上大规模搜索信息,因而新闻的采集工作成为各行各业都要关心的问题。现有的技术中,新闻列表采集技术一般先在本地建立数据库进行存储,然后利用爬虫技术进行网页抓取,这种操作模式比较繁杂,需要提前安装数据库,对于非IT行业来说,难免耗费多余的财力与人力。因此,如何把Web中的新闻列表信息转化成简单的文本格式信息,并方便保存浏览,简化采集程序,成为解决企业新闻信息获取的良好手段。
发明内容
针对现有新闻抓取程序操作较繁杂,专业性强的特点,本发明提供一种基于Jsoup的网页新闻列表的抓取及保存方法,该方法适合存在<table>、<div>、<li>等标记的Html新闻网页,能够实现对新闻列表的标题内容、链接地址及发布时间的准确抓取,将抓取结果进行分类,并保存到本地txt中。
为实现上述目的,本发明采用如下技术方案:
(1)创建存储对象:在本地服务器中建立txt空文档,在Java程序中给txt文档构造一个FileWriter文件对象,并设置写入内容的编码格式,避免文档存储过程中的乱码现象,实现文档的可写入性;
(2)解析对象:使用Jsoup解析器解析新闻列表页面URL的Html,创建一个Document对象获取解析后的文本内容;对Document对象进一步解析,首先使用select的方法抽取Document对象,返回Elements对象,实现对指定元素的过滤,包括table、div等。
(3)提取目标内容:继续使用Elements对象的select方法或getElementsByClass/Tag方式,将对象中的各元素节点的数据进行细化识别,区分标题内容、链接地址及发布时间;并定义若干字符串分别获取Elements对象中的标题内容、链接地址及发布时间,实现对新闻列表信息的提取。
(4)使用流文件写入的方式将标题内容、链接地址及发布时间以一定顺序保存到txt中,同时利用for循环导出所有的列表信息,实现对整个新闻列表网页的抓取。
(5)程序运行完成后清除缓存,并关闭文件,结束抓取过程。
本发明具有以下优点:
1、建立txt文档存储新闻列表内容,避免了在本地安装及创建数据库的麻烦,大大减小了程序的运行负担与操作难度,节约了时间;
2、使用Jsoup解析器,采用内置的选择器方法,能够更加简单直观地抓取新闻的标题、链接及发布时间等内容。
附图说明
图1是本发明的基本流程图;
图2是本发明具体实施方式中的实例操作流程图。
具体实施方式
以下是结合实例对本发明作进一步的详细说明:
以某企业网站的通知公告为例,如图2所示,一种基于Jsoup的网页新闻列表的抓取及保存方法,包括以下步骤:
步骤1:在本地或服务器中建立news.txt空文档,在Java中给txt文档构造一个FileWriter对象,并设置其编码格式为“UTF-8”,避免产生乱码情况;
步骤2:输入通知公告的新闻列表页面url,使用Jsoup.connect(“url”).get()的方法解析页面的Html,得到一个Document对象dom,其中,Document dom=Jsoup.connect(“url”).get();
步骤3:使用select选择器的方法抽取Document对象,返回Elements集合,或者使用getElementsByClass/Tag的方式实现对指定样式及标签内容进行提取,同样返回Elements对象es;所述的select方法即Elements es=dom.select(″table″);所述的getElementsByClass/Tag方法指的是Elements es=dom.getElementsByTag(″table″);
步骤4:定义若干字符串title、linkHref、datetime,用来获取Element对象中的标题、链接地址及发布时间;
步骤5:根据继续es中是否存在多个tr、td进行判断。若存在,采用for循环的方式,通过String title/datetime=es.get(i).select(″td″).get(j).text()得到标题内容或发布时间,通过String linkHref=es.get(i).getElementsByTag(″a″).attr(″abs:href″)得到链接地址;其中,i表示行数tr,j表示列数td;
步骤6:如步骤(4),若不存在,直接根据
String title/datetime=es.getElementsByTag(“”).text()得到标题或时间,通过
String linkHref=es.getElementsByTag(″a″).attr(″href″)得到链接;
步骤7:将获得的title、linkHref、datetime以一定的顺序及格式封装起来,并用fwrite.write()的方式将封装后的结果不断地写入txt中;
步骤8:程序运行结束后使用flush清除缓存,并关闭文件,实现对此页面的新闻列表抓取及保存过程。
Claims (1)
1.基于Jsoup的网页新闻列表的抓取及保存方法,其特征在于:在本地服务器中建立txt空文档,在Java程序中给txt文档构造一个文件对象(FileWriter),并设置写入内容的编码格式;使用Jsoup解析器解析新闻列表页面URL的Html,创建Document对象获取解析后的文本内容;对Document对象进一步解析,采用select的方法,包括table、div等,实现对指定元素的过滤,返回Elements对象,继续使用select方法或getElementsByClass/Tag方式将对象中的各元素节点的数据进行细化识别,区分标题内容、链接地址及发布时间;定义若干字符串分别获取Elements对象中的标题内容、链接地址及发布时间,并使用流文件写入的方式将其内容以一定顺序保存到txt中,同时利用for循环导出列表中所有的标题内容、链接地址及发布时间;程序运行完成后清除缓存,并关闭文件流,实现整个新闻抓取过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710858359.6A CN107562936A (zh) | 2017-09-12 | 2017-09-12 | 一种基于Jsoup的网页新闻列表的抓取及保存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710858359.6A CN107562936A (zh) | 2017-09-12 | 2017-09-12 | 一种基于Jsoup的网页新闻列表的抓取及保存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107562936A true CN107562936A (zh) | 2018-01-09 |
Family
ID=60982401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710858359.6A Pending CN107562936A (zh) | 2017-09-12 | 2017-09-12 | 一种基于Jsoup的网页新闻列表的抓取及保存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562936A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399586A (zh) * | 2019-07-31 | 2019-11-01 | 深圳前海微众银行股份有限公司 | web界面元素的自动化处理方法、装置、设备及介质 |
CN110851136A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 数据获取方法、装置、电子设备及存储介质 |
CN113590999A (zh) * | 2021-06-23 | 2021-11-02 | 小铁世纪(成都)科技有限公司 | 一种基于小程序的自适应内容识别及发布系统 |
CN116861058A (zh) * | 2023-09-04 | 2023-10-10 | 浪潮软件股份有限公司 | 应用于政务领域的舆情监测系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2711838A1 (en) * | 2012-09-25 | 2014-03-26 | British Telecommunications public limited company | Documentation parser |
-
2017
- 2017-09-12 CN CN201710858359.6A patent/CN107562936A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2711838A1 (en) * | 2012-09-25 | 2014-03-26 | British Telecommunications public limited company | Documentation parser |
Non-Patent Citations (1)
Title |
---|
WENXIN_30587927: "使用jsoup抓取新闻信息", 《HTTPS://BLOG.CSDN.NET/WEIXIN_30587927/ARTICLE/DETAILS/97961126》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399586A (zh) * | 2019-07-31 | 2019-11-01 | 深圳前海微众银行股份有限公司 | web界面元素的自动化处理方法、装置、设备及介质 |
CN110851136A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 数据获取方法、装置、电子设备及存储介质 |
CN113590999A (zh) * | 2021-06-23 | 2021-11-02 | 小铁世纪(成都)科技有限公司 | 一种基于小程序的自适应内容识别及发布系统 |
CN116861058A (zh) * | 2023-09-04 | 2023-10-10 | 浪潮软件股份有限公司 | 应用于政务领域的舆情监测系统及方法 |
CN116861058B (zh) * | 2023-09-04 | 2024-04-12 | 浪潮软件股份有限公司 | 应用于政务领域的舆情监测系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562936A (zh) | 一种基于Jsoup的网页新闻列表的抓取及保存方法 | |
CN107808010A (zh) | 一种弹窗页面生成方法、装置、浏览器及存储介质 | |
CN100444591C (zh) | 获取网页关键字的方法及其应用系统 | |
TWI592807B (zh) | Method and device for web style address merge | |
CN105243159A (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
CN106126648B (zh) | 一种基于重做日志的分布式商品信息爬虫方法 | |
CN107423265A (zh) | 启动字体子集 | |
CN103279567A (zh) | 一种基于AJAX的Web数据采集方法及系统 | |
CN104317948A (zh) | 页面数据抓取方法和系统 | |
CN105528452A (zh) | 一种页面数据的加载方法和系统 | |
CN102314494B (zh) | 一种用于处理网页内容的方法和设备 | |
CN101441629A (zh) | 一种非结构化网页信息的自动采集方法 | |
CN103530429A (zh) | 一种网页正文抽取的方法 | |
CN104391978A (zh) | 用于浏览器的网页收藏处理方法及装置 | |
CN108733813A (zh) | 面向bbs论坛网页内容的信息提取方法、系统及介质 | |
CN105740355B (zh) | 基于聚集文本密度的网页正文提取方法及装置 | |
US11334592B2 (en) | Self-orchestrated system for extraction, analysis, and presentation of entity data | |
CN103246675B (zh) | 一种用于抓取网站数据的方法与设备 | |
CN104090920A (zh) | 一种实现数字内容跨终端出版的系统 | |
CN105589918B (zh) | 一种提取页面信息的方法及装置 | |
CN103927367A (zh) | 基于事件的微博采集系统及方法 | |
CN113407803A (zh) | 一种一步式采集互联网数据的方法 | |
Yusof et al. | Efficiency of flat file database approach in data storage and data extraction for big data | |
CN109522466B (zh) | 一种分布式爬虫系统 | |
CN113051333A (zh) | 一种数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180109 |