推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的网络新闻爬虫与检索

更新时间:2019-12-21 10:31:30 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

网络上存在众多新闻门户网站,新闻信息繁多,造成严重的新闻信息过载。针对该类问题,设计一个基于Python的网络新闻信息搜集与检索系统。该系统通过使用Scrapy网络爬虫框架进行网络新闻信息搜集,同时对新闻链接、标题进行去重,最后使用Slor检索服务对爬虫获得的新闻数据进行全文检索。与传统方法相比,该系统设计的去重方法在保证链接不重复的情况下,对标题进行去重,并引入Solr检索服务,可以帮助读者更快速地找到想要阅读的新闻。


部分文件列表

文件名 大小
基于Python的网络新闻爬虫与检索.pdf 2M

部分页面预览

(完整内容请下载后查看)
18 卷 第 5 期  
2019 5 月  
软 件 导 刊  
Software Guide  
Vol. 18 No. 5  
May. 2019  
基于 Python 的网络新闻爬虫与检索  
1
12  
1
1
1
陈 欢 黄 勃 ,文竹 永彬 晓燕  
1. 上海工程技术大学 电子电气工程学院201620;  
2. 江西省经济犯罪侦查与防控技术协同创新中心西 南昌 330000)  
网络上存在众多新闻门户网站闻信息繁多成严重的新闻信息过载。针对该类问题计一个基  
Python 的网络新闻信息搜集与检索系统。该系统通过使用 Scrapy 网络爬虫框架进行网络新闻信息搜集同  
时对新闻链接题进行去重后使用 Slor 索服务对爬虫获得的新闻数据进行全文检索。与传统方法相  
系统设计的去重方法在保证链接不重复的情况下标题进行去重引入 Solr 检索服务以帮助读者  
更快速地找到想要阅读的新闻。  
关键词爬虫息检索ScrapySolr据去重  
DOI10. 11907/rjdk. 191232  
中图分类号TP393  
文献标识码A  
文章编号1672-78002019005-0168-04  
Python-based Web News Crawler and Retrieval  
1
1
1
1
CHEN Huan HUANG Bo12LIU Wen-zhu GAO Yong-bin JIANG Xiao-yan  
1. School of Electrical and Electronic EngineeringShanghai University of Engineering and TechnologyShanghai 201620China;  
2. Jiangxi Collaborative Innovation Center for Economic Crime Detection and Prevention and ControlNanchang 330000China)  
AbstractThere are many news portals on the Internetand there are many news information which causes serious news information  
overload. Aiming at this kind of problemthis paper designs a Python-based network news information collection and retrieval system.  
The system uses the Scrapy web crawler framework to collect online news informationand at the same time de-weights the news links  
and titlesand finally uses the Slor search service. The full-text search was carried out on the news data obtained by the crawler. Com-  
pared with the traditional methodthe de-duplication method of the system deduplicates the title without link repeatand introduces  
the Solr search servicewhich can help readers quickly locate the news that they want to read.  
Key Wordsweb crawlerinformation retrievalScrapySolrdata deduplication  
则自动从网络上抓取信息的一段程序或者脚本。使用爬  
虫技术能够获取海量网络数据并进行结构化存1-2文  
0
引言  
3使用主题爬虫的方法对新闻网进行抓取本文使  
用方法不同的是主题爬虫通过网页和主题相关度计算判  
断网页价值4据网络爬虫原理和爬虫算法数  
据存储等基本信息进行全面致的介绍未讨论爬虫  
过程中可能遇到的问题5使Hadoop 量式更新  
分布式并行科技进行视频爬虫虑链接指向视频内容的  
情况层内使用合并去重的增量式方法该方法不适  
用于本文新闻门户网站6使Scrapy+MySql+Djan-  
go 行网络爬虫储和查询查询方法上与 Slor 索  
新闻作为社会事件的记录反映日常生活的常见文  
体之一有十分重要的意义。在互联网时代络新闻  
具有传播速度快容多面化源多渠道等特点在给  
公众快速提供新闻信息的同时因信息量过大导致信息  
过载使公众反而无法全面了解新闻事件真相。如何从海  
量新闻数据中获取高质量新闻信息助新闻用户快速获  
得自己感兴趣的网络新闻是本文要解决的问题。  
网络爬虫又称网络蜘蛛络机器人按照一定规  
收稿日期2019-03-19  
基金项目西省经济犯罪侦查与防控技术协同创新中心开放基金项JXJZXTCX-030)  
作者简介1992-海工程技术大学电子电气工程学院硕士研究生究方向为文本分析荐系统1985-上  
海工程技术大学电子电气工程学院讲师西省经济犯罪侦查与防控技术协同创新中心特聘研究员究方向为需求工  
件工程式化方法工智能。本文通讯作者勃。  
· 169 ·  
5 期  
文竹 Python 的网络新闻爬虫与检索  
方法有较大差距7WebDriver Selenium 对  
微博闻网站的健康信息进行爬虫比较了不同线程  
下爬虫程序抓取速度使用该技术可以在一定程度上规避  
反爬会导致爬虫效率低下。  
新链接库链接与数据库新闻内容要设计一种简单有效  
的去重算11。常见去重算法有 Hash 去重BloomFilter 去  
用集合内元素的唯一性去重。Hash 去重的基本原理  
是利用不同的 Hash 函数如 MD5SHA Hash 索引,  
通过遍历 Hash 索引除重复数据通过把一个比较大  
网络新闻媒体的快速发展逐渐取代了传统新闻传播  
媒介且降低了新闻制作和传播成本此导致某一事  
件爆发时络上容易产生各种主观性较强的报道使新  
闻丧失真实8-9。针对以上问题文使用 Scrapy 爬虫框  
架收集网络新闻信息使用集合去重询去重等去重  
策略证每条新闻信息唯一性时使用 Solr 索服务  
排序算法现新闻内容全文检索。  
的数据集映射到一个比较小的数据集中此加快查询速  
12]  
度。随着数据量的增大Hash 去重会浪费大量内存  
因此在 Hash 重的基础上引入 BloomFileter K  
Hash 函数将新加入的元素映射成一个位阵列中的 K 个  
有一个新元素加入时K 点的值判断其是否  
13-14]  
爬虫爬取的新闻信息中有许多重复的内容爬虫过  
程去重不能保证数据库某一条信息唯一性。如图 1 示,  
由于该条新闻来自腾讯转载自人民网致一条新闻对照  
多个链接。传统去重方法只是对 URL 进行去重法处理  
新闻存在一个标题对照多个 URL 的情况。因此进行 Scra-  
py 虫去重之后存入数据库的过程中执行 Sql 询操  
作决定是否将本条信息插入到数据库中。Sql 询语句  
为:  
1
网络新闻信息采集  
信息采集是收集索网络新闻的基础于新闻门  
户网站繁多统为了保证数据来源选取几个主流新闻网  
站进行爬虫研究。爬虫程序的作用包括新闻标题容、  
时间及来源等信息获取。新闻网页相对于其它复杂的网  
站构成较为简单文通过使用正则表达式与 Beautiful-  
Soup 库可基本获取目标信息。  
cursor.executeselect * from news_tb3 where news_ti-  
tle=%sitemtitle')  
1.1 基于 Scrapy 的网络新闻采集  
Scrapy 一个健壮的网络框架持从各种数据源中  
抓取数据。Scrapy 一种基于事件的框架够将数据清  
式化进行装饰后存储到数据库中。Scrapy 框架包  
Scrapy EngineScrapy SchedulerDown-  
loaderSpidersItem PipelineDown-  
loader Middlewares载器中间10]  
爬虫过程中需要对 URL 接及页面进行分析便  
提高爬虫程序工作效率如腾讯新闻每篇文章的链接构  
成 如 https//new.qq.com/cmsn/20190227/201902270099-  
55.html'https//new.qq.com/'表 示 腾 讯 新 闻 主 页 面 ,  
cmsn'表 示 文 章 归 属 板 块 20190227'表 示 文 章 发 布 日  
2019022700995'示文章 ID。文章内容包含在<p> </  
p>标签内章主题包含在<h1> </h1>标签内。使用 Beau-  
tifulSoup 可以很容易地获得文章内容题等信息。腾  
讯新闻的详细时间信息源信息包含在<script></script>  
标签内使BeautifulSoup 无法解析到目标信息是  
可以通过正则表达式进行匹配。例如匹配新闻时间信息  
的正则表达式为 time=re.findallb"""pubtime".*""",  
source。  
1 <script>标签中的文章信息  
2
使用 Solr 检索服务的新闻数据检索  
Solr Apache 基金会开源搜索引擎库 Lucene 下的子  
项目Lucene 是一种基于 Java 语言的开源信息检索库Solr  
Lucene 基础上进一步扩展含丰富的查询语言功  
能也更加完善长处理以文本为中心为主导向文  
档且具有灵活模式的数据在数据检索速度方面远远快  
使用 Scrapy 制域名的方法使爬取下来的新闻信息  
更加有针对性如腾讯新闻中视频模块不是目标内容,  
如果也对其进行爬取会导致爬虫资源浪费低爬虫程序  
工作效率。同时设计过滤方法依据提取规则提取的特  
殊字符串进行替换证爬取的新闻文本信息不包含其它  
特殊字符串殊字符串在写入 JSON 文件时会引起错误,  
导致新闻不能被完整地写入。  
MySQL 查询语言且可以实现模糊匹15-16]  
2.1 Solr 排序算法  
传统数据库查询对用户输入进行精确匹配果找不  
到任何精确匹配结果没有返回内容。在文本类查询  
单利用字符串匹配使查询效率低下本文实验  
1.2 增量式网络爬虫  
网络新闻更新速度快容丰富了及时确地更  

全部评论(0)

暂无评论