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

基于Python的新浪新闻爬虫系统的设计与实现

更新时间:2019-12-24 19:35:01 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python新闻爬虫系统 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

随着大数据时代的到来,数据量呈几何倍增长。以新浪新闻为代表的一系列新闻检索网站蕴含着大量的数据资源。本文以新浪新闻为研究对象,利用Python爬虫技术实现网页下载与网页解析,完成了对目标数据的高效获取,并将获取的信息进行格式化存储。实验结果表明,本文所提出的程序实现了网页数据的快速获取,为后续的数据挖掘提供支持。


部分文件列表

文件名 大小
基于Python的新浪新闻爬虫系统的设计与实现.pdf 2M

部分页面预览

(完整内容请下载后查看)
数据库技术  
Data Base Technique  
·
基于 Python 的新浪新闻爬虫系统的设计与实现  
文/于韬 李伟 代丽伟  
随着大数据时代的到来,数  
据量呈几何倍增长。以新浪新闻  
为代表的一系列新闻检索网站蕴  
含着大量的数据资源。本文以新  
浪新闻为研究对象,利Python  
爬虫技术实现网页下载与网页解  
析,完成了对目标数据的高效获  
取,并将获取的信息进行格式化  
存储。实验结果表明,本文所提  
出的程序实现了网页数据的快速  
获取,为后续的数据挖掘提供支  
持。  
1:简单爬虫框架  
2:爬取流程图  
【关键词】大数据 Python 爬虫 新浪新闻  
1 引言  
新浪新闻由新浪官方出品,及时发布全  
球新闻资讯,国内国外要闻,精彩的体育赛事  
报道,金融财经动向,影视娱乐事件,还有独  
家微博“微”新闻,精彩随你看,新闻、星座、  
笑话一个都不少闻是我们生活中的一部分,  
通过新浪的新闻板块可以坐在家里看世界。如  
此多的新闻信息,其中蕴含的巨大信息量是不  
言而喻的,因此如何获取是十分关键的。本文  
我们将通过爬虫技术获取相关新闻信息。  
Python 为一种语法简洁的程序设计  
语言,对于爬虫开发上有很多优势,在发送  
HTTP 请求时,Python 提供优秀的第三方包譬  
Requests,极大简化了对网站的访问请求。  
在解HTML 源码时,提供的 BeautifulSoup  
库能用极简短的代码完成过滤 html 标签并提  
取文本的工作。利Python pandas 可以  
对获取到的数据进行整理、储存。对于网站的  
反爬机制Python提供了更为简便的解决方案,  
可以使Requests 库得到一个代IPPython  
拥有足够多的简洁的语法和库的支持,使得它  
在爬虫开发上具有很高的效率。  
3:已抓取的新闻信息  
要的标题、作者、摘要等信息。  
2requests 第三方工具包,功能强大。  
2.2.3 网页解析器  
3)分页链接的获取:获取不同分页的  
链接,以便获取更多页面信息。  
网页解析器是对网页内容中进行数据解  
析的工具。Python 支持的网页解析器有两种:  
一种利用正则表达式可以将整个网页文档当成  
一个字符串,使用模糊匹配的方式来提取出有  
价值的数据;另一种是根据 Html 网页创建成  
一个 DOM 树,以树的形式进行各种节点的搜  
索遍历。DOM 的树形结构根据上下级关系,  
可以很方便的定位到各个元素。  
4)网页内容的分析和管理:提取网页  
信息,并将其存入数据库或其他数据文件中。  
2.2 与爬虫相关的python模块  
2.2.1 网址管理器  
实现网址管理的方法有以3 类:  
1Python 内存储存:适合存储少量信  
息,将网址在储存时分为两类:已爬取和待爬  
取,放入两个集合中进行管理。  
2)关系数据库储存:适合网址信息进  
行永久性储存,可以存到表中,建立两个字段  
用来辨别是否爬取。  
2.2.4 数据导出  
利用 Python 可以将数据导出为 Excel 格  
式或其它格式文件。导出数据时应注意数据编  
码问题,否则导出的文件可能会出现乱码。如  
1 所示。  
本文提出的爬虫程序通过获取相关新闻  
信息,并将数据保存到本地,方便对数据的挖  
掘与分析。使用本程序可以节省获取数据的时  
使用户可以将更多精力放在数据分析上面。  
3)缓存数据库储存:适合储存大量的  
网址信息  
3 实验设计  
2 基于Python的新浪新闻爬虫设计  
2.2.2 网页下载器  
我们通过新浪新APIhttp://news.sina.  
网页下载器是爬虫程序的主要核心模块。 com.cn/china/ 进行抓取。爬虫代码3 个功能  
2.1 爬虫系统设计需求  
网页的内容一般是 HTML 格式,Python 支持  
的网页下载工具有两类:  
函数和一个主函数构成:  
设计爬虫系统需要解决以下几个问题:  
1)评论数的获取:通过页面链接获取  
id,然后传递获取评论数。  
3.1 获取详细页面内文函数(getNews  
1Python 方支持的基础模块中的  
urllib 包  
<< 下转 242 页  
2)页面信息的提取:页面上有我们需  
电子技术与软件工程ꢀꢀ  
Electronic Technology & Software Engineering  
188 ·  
单片机技术  
SCM Technology  
·
基于模块化的智能扩展云监控系统  
文/郝佳琦 胡云生 谢雅丽  
1:时t 和湿p 的对应关系  
本文设计了一种基于模块化  
的智能扩展云监控系统,采用不  
同的传感器,实现了模块化的数  
据采集,针对不同的控制对象采  
用相应的传感器模块,实现该设  
备的智能云监控,用户可通过移  
动端实现与设备之间的通信,包  
括对设备工作信息的查看、对设  
备启停的控制和运行流程设定等。  
另外,本文对自动浇花系统和水  
位监控系统进行了系统测试,系  
统实现了在不同传感器模块情况  
下分别实现不同的控制流程及系  
统功能。  
t/s  
湿p01(实时)  
湿p0220min 后)  
30  
300  
399  
60  
344  
512  
90  
396  
583  
120  
420  
820  
150  
514  
934  
2:单片机参数和实际水深对应关系  
实际水p0mm)  
单片机参p1mm)  
换算水Pmm)  
0
536  
4
40  
495  
45  
80  
450  
90  
120  
405  
135  
160  
370  
170  
提供全方位的信息交互功能,甚至为各种能源  
费用节约资金,为生活提供了极大的便利。但  
目前大多数家庭所使用的家具设备大多属于非  
智能家居,可通过智能化改造将其升级为智能  
家居,如果对多数家居都进行智能化改造,一  
是难度大,二是成本高。本文设计了一种基于  
模块化的智能扩展云监控系统,可以在不同需  
求下通过连接不同的传感器模块将部分非智能  
设备升级为智能设备。消费者可以按需配置,  
实现不同家居的智能化改造。  
2.1 整体设计思路  
首先,设计单片机控制系统,使其能够  
完成对部分家具的控制,如控制电源、红外遥  
控等。其次,为了让控制系统实现远程控制,  
本文采Wi-Fi 模块通过串口与单片机连接,  
Wi-Fi 模块连接网络后可采用移动端与控制  
系统进行通信。最后,为了实现智能监控,需  
要为控制系统配备相应的数据采集功能,以返  
回家居设备工作状态,由此,可在移动端实现  
对家居设备状态的远程监控。  
【关键词】智能家居 云监控 传感器  
1 引言  
智能家居不仅具有传统的居住功能,还  
2 系统设计与实现  
为满足不同情况下监视数据类型的不同,  
兼备建筑络通信息家电备自动化,  
<< 上接 188 页  
Detail)  
的详细信息,利parseListLinks 函数,我们  
获取不同清单的链接,并结getNewsDetail  
函数获取清单上所有新闻信息。接着定义一个  
newsdetailsgetNewsDetail 数获  
取的信息储存在列表中。  
requests 法下载网页 html 并用  
BeautifulSoup 进行解析,进而获得相关的数据  
信息。总体来说,爬虫技术具有较高的应用价  
值与无限的潜在价值,通过抓取数据,可以挖  
掘出更有价值的信息。  
首先对详细页面的链接进行下通  
requests 法下载 html 接着通过  
BeautifulSoup 进行解析。然后通select 方法  
获取文章标题、来源以及编辑信息,由于时间  
的格式的特殊性,利datatime 获取新闻发表  
的时间。对于新闻主体,通for 依次取段落,  
再通join 方法将所有段落信息整合在一起。  
取评论数我们通getCommentCounts 方法进  
行获取。最后定义一个字典,将页面的标题、  
来源、时间等信息存储到字典中。  
3.4 主函数  
参考文献  
[1] 魏 冬 梅 , 何 忠 秀 等 , 基 于 Python 的  
Web 信 息 获 取 方 法 研 究 [J]. 软 件 导  
,2018(01).  
在主函数中可以自定义想要获取的新  
闻页由于每个清单有许多数据我  
们加了一for 环获得分页链通过  
parseListLinks 方法依次获取新闻信息,我们  
pandas DataFrame 法对数据进行整  
理,最后to_excel 方法将数据保存Excel  
格式。  
[2],国辉,络爬虫技术的研究  
[J].脑知识与技,2010(05).  
[3] 中华 , 张惠 , 然谢江 , 基于 Python  
的新浪微博数据爬[J]. 算机应用  
2014(11).  
3.2 获取评论数函数(getCommentCounts)  
由于通过直接观察元素信息时找不到评  
论数信息,可能是通JS 方式添加上去的,  
因此需要对评论数链接进行处理,而评论数链  
接与新id 有关,因此我们首先对新id 进  
行获取。通过正则表达式获取新id,在将新  
id 放入评论数链接中此链接进行解析,  
即可得到相应的评论数。  
爬取流程图如2 所示。  
[4].于网络爬虫技术的舆情数据采  
集系统设计与实[J].代计算(专  
)2015(06).  
4 实验结果  
通过实验获取新浪新闻的论文信息,运  
行结果如3 所示验采集7500 条信息,  
为后期的数据处理提供了有力支撑。  
[5] 烨行 , 张明杰 . 微博数据采集的  
设计与实现 [J]. 脑编程技巧与维  
,2017(09).  
5 结语  
3.3 剖析清单链接函数(parseListLinks)  
作者单位  
辽宁科技学院 辽宁省本溪市 117004  
文章分析了新浪爬虫获取数据时的  
在前两个函数中我们已经获取到了页面  
细节实对国内新API 行爬使  
电子技术与软件工程ꢀꢀ  
Electronic Technology & Software Engineering  
242 ·  

全部评论(0)

暂无评论