第2章 手机舆情系统技术的概况
第2.1节 系统开发环境
2.1.1系统开发环境
系统软件:任意开发操作系统
硬件要求:INTELI I3以上, 4G DDR3 RAM,SSD 256G 浏览器:IE8以上、火狐、谷歌 、欧朋、qq等 数据库服务器:MySql。
使用Python flask框架,首先在本地电脑安装Python并配置环境 ,使得在本地可以正常使用。然后安装pip管理包,pip是安装和管理Python包的。然后安装利用pip工具安装flask框架。pip install flask安装成功,则开发环境配置完成[1]。
2.1.2系统开发环境配置
(1)Win7 Python 安装
首先,下载一个匹配本机的Python安装包,注意这里是区分32位系统和64位系统的,查看自己系统。下载完成后点击打开Python安装包,选择install just for me点击下一步。选择安装路径时一般选择默认安装到C盘,但我不能容忍在C盘安装任何东西,所以我选择安装到D盘,其实安装到哪个盘都是OK的。选择Python所要安装的文件时默认全部安装,直接点击下一步。然后等待小会完成安装,点击完成安装。下一步需要的就是配置环境变量了。这一步很关键,找到环境变量选择PATH,然后在变量值后面复制你的安装路径,注意一定要带后面的分号。然后就可以在CMD命令行中尽情的蹂躏它了[3]。 (2)pip和flask 安装
安装pip之前我们首先要安装easy_install,这也是Python包管理的一个工具。百度搜索easy_install找到起下载页面找到ez_setup.py并下载下来。然后启用Python运行其文件(python ez_setup.py)安装成功后,还要配置一下环境变量,打开安装Python文件夹找到scripts文件夹(能找到这个文件夹
7
说明已经安装成功)双击打开,然后复制此时路径。然后在环境变量后面添加此路径,则安装完成。然而我们最终的目的是安装pip,进入命令行,把目录切换到Python安装目录下。在scripts文件下直接运行easy_inatall.exe pip命令完成pip安装。
安装flask框架。此时pip安装成功后,我们可以直接运行命令行pip install flask进行安装和使用,但一般没有人会这样做。如果我们这个环境需要同时部署两个或者以上的服务,那么很大可能会报错,导致服务无法启动。所以尽量的保证模块的独立性,这样会避免很多完全不必要的麻烦。这里我们就用到了VirtualEnv,在这里VirtualEnv的安装就不多介绍了。成功安装后,创建新的虚拟环境。并在创建后的虚拟环境中运行pip install flask 安装完成。
2.1.3系统开发工具
(1)Sublime Text编译器
是一款跨平台的代码编辑器,支持基于Python的插件。Sublime Text 是付费软件,但不购买也可以使用。可通过包(Package)武装本身的功能。不仅完美的支持多种编程语言、并且拥有优秀的自动代码完成,还拥有代码片段功能,能将使用频率高的的代码片段存储起来,在需要时调用。支持 VIM 模式,可以使用Vim模式下的多数命令。还具有编辑状态恢复能力,就是当你修改了一个文件,但没有及时保存,这时候软件退出,它不会询问是否需要保存的,因为不管是用户还是程序以外崩溃所造成的退出,再次启动软件时,之前的编辑状态就会完整复原,就像退出前一样[2]。
(2)MySQL数据库
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS)。使用相当方便,与相关软件兼容性强等优点。安全系数也是相当高,可以根据自己的需求来定制MySQL数据库。当然市面上优秀的数据不只MySQL数据库一种。灵活性特别高,也是大多数人选择MySQL数据库的根本原因。
第2.2节 系统开发技术
8
2.2.1 Python flask介绍
Python语法简洁清晰,强制用空白符(white space)作为语句缩进。Flask是基于Python语言的一种服务器端框架,强大的功能一点都不逊色于其他服务器框架,再加上简单的操作使得flask收到越来越多人的喜爱。
2.2.2 爬虫介绍
爬虫,就是互联网爬虫,可以理解成它就是一只在蜘蛛网上爬行的蜘蛛,互联网就就是蜘蛛脚下的那张蜘蛛网,而互联网不同于蜘蛛网的是互联网是一张虚拟的网,蜘蛛网则是一张事实存在的物质。爬虫即是蜘蛛网上爬来爬去的蜘蛛,如果它遇到什么想要的,那么资源就是被抓取下来。想抓取什么?这个由你来控制它。Python被广泛用来写爬虫,是什么原因呢?可能是python的框架比较成熟吧。首先Python是一门解释型语言。不需要复杂的编译过程。其次Python的语法非常简单,接近于伪码。
2.2.3 HTML简介
\Markup Language\是其HTML的全称,中文译为“超文本标记语言”。HTML主要功能用于内容展示,HTML一般配合CSS和JAVASCRIPT一起使用。个人认为HTML就是一个文本文件,其中包含浏览器的标识符,来告诉浏览器改怎样解析此文本文件[13]。
2.2.4 JavaScript 简介
JavaScript是一种网页脚本语言,所以很快的被大家应用于Web开发,其中所能够看到的网页添加多样式的动态功能,更是为广大的用户给予其更加美观和更流畅的页面浏览效果。一般JavaScript脚本是直接镶嵌在HTML中来实现某中特定的效果的。但通常情况下会影响整个用户体验,所以不建议直接在HTML中镶嵌JavaScript脚本的。它是一种解释脚本语言,主要是负责web前端的交互行为,可以直接嵌在网页中,也可以写成单独的js文件并引入文件[14][17]。
9
第3章 系统数据采集与存储
第3.1节 系统数据的采集
3.1.1数据采集范围分析
作为一个特别追崇这种产品信息的人,感觉到了自己发言机会来了。拿自己来说,我就特别喜欢一些产品最新的资讯,比如某某品牌又出新款的产品了、某某款产品的性能对比等等。但我从来不喜欢在百度直接搜索,因为我已经对百度出来的结果失望至极。每次在百度搜索出来都有一大堆的垃圾信息,各种推广、各种广告、各种打折。
如果想全面了解认识一款产品,首先只了解官网的信息那是不全面的。每个品牌的官网都不会告诉你,这款产品的缺点是什么,在官网的数据看,生产的产品永远只有优点没有缺点。所以我还会选择那些比较权威的第三方的文章进行下一步的了解,首先,第三方是一个完全独立的第三方,在里面没有利益关系,所以第三方就可以相对于品牌厂商来说更公平、更准确的来判定一个产品的定位。
那么我们要选择什么样的第三方呢?首先必须权威,要对这些时刻关注着他们的这些各行各业的人们负责。不能对自己说过的话,对自己发表过得文章不负责。再一个就是要公平公正的对待,不能徇私舞弊。
综合这些条件,经过查询了许多资料。最终决定主要针对如下网站进行数据抓取:
http://mobile.zol.com.cn/ 中关村在线 http://mobile.pconline.com.cn/ 太平洋 http://mobile.sina.com.cn/ 新浪 http://www.3533.com/ 手机世界 http://mobile.pcpop.com/ 泡泡手机 http://www.imobile.com.cn/ 手机之家 http://www.cnmo.com/ 手机中国 http://mobile.163.com/ 网易手机 http://mobile.it168.com/ it168手机
10
3.1.2数据采集的实现
爬虫数据采集,就是通过抓取事先决定好的网站网址,且根据网站的文章列表生文章的URL列表。然后进行文章网页的抓取、分析并存入数据库中。如图3.1所示:
采集数据库 页面抓取 URL列表 网站根域名 抓取主页面 解析源文件 图3.1 工作流程图
3.1.2采集数据的处理
当然收集到的网页信息绝对不是自己想要的结果,那我们就要对抓取的数据进行处理。其实收集到的许多HTML标签、JavaScript代码等与文章没有一点关系,所以我们要对文章提纯,去掉我们不想要的,拿走我们需要的。网页文档中除了文章标题和文章内容,还会有我们所有人都讨厌的广告和各种超链接。它们着实很让人头疼。那我们就要对整体的网页结构认真的做分析,这样我们才能在如此复杂的HTML标签里面来拿走我们想要的,留下我们不想要的。
根据分析研究,对文章主题信息的提取,可以缩短大量的浏览时间。针对网页布局,网页中文章主题提取是数据处理得重要环节。网页中文章的布局远比我们现实文本文章的布局要复杂的多的多。所以我们要认真的分析文章网页中的布局情况进行准确的数据提取。
第3.2节 系统数据的存储
11