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

基于Python的健康数据爬虫设计与实现

更新时间:2019-12-20 23:16:14 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python数据爬虫 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

在网络健康资讯研究中,数据获取是首先要解决的问题,但传统抓取工具无法满足多变的数据源,研究高效爬取健康资讯内容新方法迫在眉睫。基于Python的网络健康资讯抓取方案,整合多个数据源,抓取内容更为全面;利用WebDriver和Python的Selenium库,能够较好地应对复杂网络状况,通过多线程技术极大提高爬虫效率。对抓取的癌症数据进行统计分析,对多线程效率进行对比分析,显示爬虫具有良好的适应性。基于Py?thon的网络健康咨询抓取方案能快速抓取网络资讯,为后续科研打下基础。


部分文件列表

文件名 大小
基于Python的健康数据爬虫设计与实现.pdf 2M

部分页面预览

(完整内容请下载后查看)
18 卷 第 2 期  
2019 2 月  
软 件 导 刊  
Vol. 18 No. 2  
Software Guide  
Feb. 2019  
基于 Python 的健康数据爬虫设计与实现  
程增辉林旭茂福  
汉科技大学 计算机科学与技术学院北 武汉 430065)  
在网络健康资讯研究中据获取是首先要解决的问题传统抓取工具无法满足多变的数据源究  
高效爬取健康资讯内容新方法迫在眉睫。基于 Python 的网络健康资讯抓取方案合多个数据源取内容更  
为全面WebDriver Python Selenium 够较好地应对复杂网络状况过多线程技术极大提高爬虫  
效率。对抓取的癌症数据进行统计分析多线程效率进行对比分析示爬虫具有良好的适应性。基于 Py-  
thon 的网络健康咨询抓取方案能快速抓取网络资讯后续科研打下基础。  
关键词爬虫数据源Python页解析  
DOI10. 11907/rjdk. 181626  
中图分类号TP319  
文献标识码A  
文章编号1672-78002019002-0060-04  
The Design and Implementation of Health Data Crawler Using Python  
CHENG Zeng-huiXIA Lin-xuLIU Mao-fu  
College of Computer Science and TechnologyWuhan University of Science and TechnologyWuhan 430065China)  
AbstractDuring the research of online health datathe data acquirement is the first problem to be solvedhowever the traditional da-  
ta crawlers cannot be adapted to the current various data sources. Thereforea new approach should be adopted to parse health data ef-  
ficiently from WeiboWeb portals and other platforms. This article tries to design a new data crawler based on one Web driver offered  
from selenium library and implement using Python and its related network library. This data clawer can handle complex net environ-  
ment and improve efficiency with the multithread technique. In the endwe analyze the obtained data on topic of cancer and compare  
the efficiency under the multithread programming. It shows that the data crawler designed in this article can adapt the net environment  
well and be a lot of helps in the further research of online health data.  
Key Wordscrawlervarious data sourcePythonWeb page parsing  
作的重心也要随之变化。  
国外针对社交平FacebookTwitter研究与分  
0
引言  
2-4国内针对这一领域的研究还较欠缺。一方  
关研究刚刚起步乏相关研究方法一方面缺  
乏相关研究数据入研究难以展5新浪微博占据了  
社交平台 87%份额集了大量年轻用户和海量资讯内  
中国微博产业的主导力6。微博具有用户基数大、  
传播速度快容时效性强和数据量极大的特点非常  
好的数据来源。另外流门户网站如网易讯、  
搜狐等为老牌网络新闻集散地是用户获取资  
讯的主要来源。这些平台拥有大量用户天产生海量数  
且新闻形式较为统一非常方便且有价值的研究  
随着生活水平的不断提高和计算机技术的迅速发展,  
互联网已经成为大众获取资讯的主要渠1络资讯形  
式与内容也伴随着时代发展产生了巨大变化。在资讯形  
式方面型的门户网站仍以图文形式的文章为主兴  
平台的资讯形式则更为丰富现了微博视频动新  
闻客户端等格式。在资讯内容方面传统的时事新闻  
乐等方面的内容更受年轻人追捧。新型资讯  
形式的出现味着对于网络数据的研究方法必须作出相  
应改变。网络数据内容的变更味着数据挖掘与研究工  
收稿日期2018-04-24  
基金项目家社会科学基金重大计划项11&ZD189北省大学生创新创业训练计划项201610488038)  
作者简介1998-汉科技大学计算机科学与技术学院学生究方向为自然语言处理1991-汉科技大  
学计算机科学与技术学院硕士研究生究方向为自然语言处理1977-汉科技大学计算机科学与技术学  
院教授士生导师究方向为自然语言处理。本文通讯作者茂福。  
· 61 ·  
2 期  
程增辉林旭茂福Python 的健康数据爬虫设计与实现  
对象。  
网民对健康问题较为重视“微信计步悦跑圈等  
1
微博爬虫  
一些健康类型手机应用风靡社交平台康类资讯成为人  
们分享的热点。医疗卫生信息化使医疗卫生数据以惊人  
的几何速度增7目前有针对网络健康数据的相关  
8-11果能及时抓取网络上的健康资讯并加以深入  
分析与挖掘许能对网络舆情进行有效检测和引导同  
时能分析出不同平台用户特点和关注点使之更为个性化  
和人性化。然而络上的健康资讯十分零散法做到  
有效整合且因为资讯来源和平台不同导致不同资讯在  
结构上具有较大差异。因此康领域的网络数据研究具  
有很大的潜力可以挖掘。  
微博用户基数大讯的更新与传播速度远远高于一  
般网络媒体非常好的数据来源。目前针对微博平台的  
数据爬虫研13-16大致可分为基于 API于网络爬虫和基  
于网络数据流 3 种获取技17。然而博登录机制复杂,  
其提供的 API 存在访问数量率等方面的限制。此外微  
博的网页结构与传统网页区别很大构更加细碎繁琐。  
因此果要大规模爬取微博数据统爬取方法可能不  
再有效另辟蹊径。Selenium 是一个自动化测试工具具  
有 以 下 几 个 特 性 可 对 多 种 浏 览 器 进 行 测 试 IE、  
FirefoxSafariChromeAndroid 机浏览器等持多种  
语言JavaC#PythonRubyPHP 平台Win-  
dowsLinuxiOSAndroid 源免18本文爬虫利  
Python Selenium 源库的模拟特性望实现微博数  
据的高效爬取时将数据进行结构化存储使数据更加  
条理清晰。  
已经开发出一些爬虫工具获取研究数据这些爬虫  
对社交平台和门户网站的新型网页结构支持不够研究  
中容易出现各种问题。其往往只针对特定平台进行适配,  
不具备普适性。除此之外于开发时间较长乏对新  
技术的支持难适应当前的网络环境。  
本文爬虫通过对各平台网页结构的分析持微博、  
门户网站等主流数据源一定程度上保证了数据的完整  
性。Python 供了针对网络协议标准库网络协议的各  
个层次进行了抽象封12而十分适合于网络爬虫开  
发。本文爬虫以 Python 为技术基础进行开发合运用多  
Python 网络函数库够很好地适应当前的网络环境。  
1.1 爬取流程  
微博爬虫工作流程如图 1 示。与传统网站不同由  
于新浪微博的限制要首先进行登录后才可进行数  
据抓取。登录以后新浪健康户为种子用户逐  
步解析并获取微博内容新用户队列作为后续爬取对  
1 微博爬虫流程  
象。最后对微博进行结构化存储便后续使用。  
1.2 微博登录  
send_keys数输入用户名及密码利用 click数模  
拟点登录钮。登录成功之后需维持 driver 便可  
方便地访问微博数据。  
登录微博后才能爬取数据而首先要解决微博登录  
问题。与传统的会话方式不同文通过模拟用户的登录  
动作实现微博登录会使新浪微博系统将爬虫程序当作  
真正的用户而省去诸多麻烦。Python Selenium 拥  
有成熟的模拟特性提供了方便的接口用以定位网页上  
的按钮与文本框。  
1.3 内容获取  
登录之后便可进行内容获取。微博网页包含各种内  
容及对象构复杂是每条微博形式类似般包括作  
赞量发量论量等。首先通过 Selenium 开  
源库中的 driver.page_source数进行页面源码抓取然  
后利用正则表达式对网页内容进行筛选。为了方便存储,  
将作者论量赞量发量等作为一条记录存  
储在数据库中。  
微博登录步骤始化 Selenium 中的 driver用  
driver.geturl函 数 获 取 页 面 信 息 通 过 driver.get_ele-  
ment_by_name数定用户名密码入框过  
driver.get_element_by_xpath数定登录用  
为保证微博爬取的完整性和高效性文采取一种基  

全部评论(0)

暂无评论