网页新闻抓取(Java程序中本发明文档构造一个FileWriter文件对象的说明图)
优采云 发布时间: 2021-10-07 20:35网页新闻抓取(Java程序中本发明文档构造一个FileWriter文件对象的说明图)
带有等标志的Html新闻网页可以准确抓取新闻列表的标题内容、链接地址和发布时间,对抓取结果进行分类,并保存在本地txt中。为实现上述目的,本发明采用如下技术方案: (1)创建存储对象:在本地服务器创建一个txt空文档,在Java程序中为该txt文档构造一个FileWriter文件对象,并设置content Encoding格式,避免文档存储过程中出现乱码现象,实现文档的可写性;(2)分析对象:使用Jsoup解析器解析新闻列表页面URL的Html ,并创建一个Document对象,获取解析后的文本Content;进一步分析Document对象,@3)提取目标内容:继续使用Elements对象的select方法或getElementsByClass/Tag方法,细化对象中各个元素节点的数据标识,区分标题内容、链接地址和发布时间;并定义几个字符串来获取 Elements 对象中的标题内容、链接地址和发布时间。,实现新闻列表信息的提取。(4) 使用流文件写入将标题内容、链接地址和发布时间按一定顺序保存在txt中,并使用for循环导出所有列表信息,实现整个新闻列表页面的爬取。@3)提取目标内容:继续使用Elements对象的select方法或getElementsByClass/Tag方法,细化对象中各个元素节点的数据标识,区分标题内容、链接地址和发布时间;并定义几个字符串来获取 Elements 对象中的标题内容、链接地址和发布时间。,实现新闻列表信息的提取。(4) 使用流文件写入将标题内容、链接地址和发布时间按一定顺序保存在txt中,并使用for循环导出所有列表信息,实现整个新闻列表页面的爬取。区分标题内容、链接地址和发布时间;并定义几个字符串来获取 Elements 对象中的标题内容、链接地址和发布时间。,实现新闻列表信息的提取。(4) 使用流文件写入将标题内容、链接地址和发布时间按一定顺序保存在txt中,并使用for循环导出所有列表信息,实现整个新闻列表页面的爬取。区分标题内容、链接地址和发布时间;并定义几个字符串来获取 Elements 对象中的标题内容、链接地址和发布时间。,实现新闻列表信息的提取。(4) 使用流文件写入将标题内容、链接地址和发布时间按一定顺序保存在txt中,并使用for循环导出所有列表信息,实现整个新闻列表页面的爬取。
以@网站的通知公告为例。如图2所示,一种基于Jsoup的网络新闻列表抓取和保存方法包括以下步骤: 步骤1:在本地或服务器上创建一个空的news.txt文件。用Java为txt文档构造一个FileWriter对象,将其编码格式设置为“UTF-8”,避免出现乱码;第二步:输入通知公告的新闻列表页面的url,使用Jsoup.connect("url")。get()方法解析页面的Html,得到一个Document对象dom,其中Documentdom=Jsoup.connect("url").get(); 第三步:使用select选择器方法提取Document对象并返回Elements集合,或者使用getElementsByClass/Tag提取指定的样式和标签内容,同时返回Elements对象es;选择方法是 Elements=dom.select("table"); getElementsByClass/Tag 方法是指 Elements=dom.getElementsByTag("table"); 第四步:定义多个字符串title、linkHref、datetime,获取Element对象中的标题、链接地址和发布时间;第五步:根据continuous es tr中是否有多个,td进行判断。
如果存在,则使用for循环方法通过Stringtitle/datetime=es.get(i).select("td").get(j).text()获取标题内容或发布时间,并通过StringlinkHref=es .get( i).getElementsByTag("a").attr("abs: href") 获取链接地址;其中i代表行数tr,j代表列数td;第六步:同步骤(4),如果不存在,直接根据Stringtitle/datetime=es.getElementsByTag("").text()获取标题或时间,通过StringlinkHref=es获取链接。 getElementsByTag("a").attr("href"); 第七步:将获取的title、linkHref、datetime按照一定的顺序和格式进行封装,封装的结果使用fwrite.write()不断写入txt ; 第八步:程序运行后,使用flush清除缓存并关闭文件,实现抓取并保存该页面新闻列表的过程。当前页面 1 1 2 3 当前页面 1 1 2 3