1、 昆明理工大学 设计(论文)专用纸 -I- 采用技术手段,采集互联网舆情信息,从而达到了解社会民情,挖掘民意,从而辅助国家决策,为科学决策和和谐社会建设更好的服务。 舆情监测的最早形式是社会调查,下基层了解民间疾苦,现在发展为网络舆情监测,借助于互联网通道,采用技术手段,大大降低了社会舆情调查成本(社会调查的样本规模和代表性往往不足,如三峡移民调查1 万人,调查人员需要走村串户,耗时几个月,而网络舆情可以在一个小时内采集到几百万的言论)。舆情监测一向都是各个国家和开明社会积极推动的事情,是完全合理合法为国为民的积极举措。 摘要 随着 3G、 4G 通信 技术的 成熟应用 , 使得互联网实现真正
2、互联,零距离链接到人(或物)。 自媒体兴起,新闻、资讯传播 越来越 快, 人 们得以快速利用各类终端(手机、 pad、计算机等设备)发布信息、获取信息, 通过互联网表达自己的观点。 微博、头条 等网站上含有大量的 热点新闻及 评论 信息 ,对这些 信息 进行有效的分析整合,有助于 了解 社会民情,挖掘民意,从而辅 助国家决策,为科学决策和和谐社会建设更好的服务。 舆情监测的最早形式是社会调查,下基层了解民间疾苦,现在发展为网络舆情监测,借助于互联网通道,采用技术手段,大大降低了社会舆情调查成本 。本文研究如何利 用计算机技术构建互联网新闻信息分析平台,实现对各互联网平台上新闻 评论文本的获取与
3、管理。 本文对互联网 互联网新闻数据自动采集管理系统 进行需求分析、总体架构设计,功能设计,流程设计,数据库设计。平台包括数据采集,数据存储,用户登录 新闻 评论信息分类查询等功能。 首先针对要采集的网站分析其网页结构,制定数据采集模板。然后 采用网络爬虫技术进行数据采集,并将采集的数据存入数据库。 最后搭建互联网评论文本管理系统为用户提供评论文本的分类查询等服务。 本文采用了 HTTP、 C#、 mongodb 数据库等相关技术对系统进行了实现,系统数据采集及时、操作简单、运行稳定、基本实现了对互联网 新闻 文本的获取与管理。 关键词 : 热点新闻 ;网络 爬虫 ; WEB 前端 展 示;
4、C#;数据库 昆明理工大学 设计(论文)专用纸 -II- Abstract At present, with the rapid development of the Internet, more and more people express their point of view through the internet.For example,there are a lot of text of comment about hotels, tourist scenery in Ctrip and some other tourist sites. Analyzing these text
5、 effectively, operators or managers of public house and scenery not only can get the things which customers are paid attention to and the inadequacy of theirselves, but also can help customers to choose the more satisfied products and services. Thi s paper mainly discussed how to realize the acquisi
6、tion and management of those comment text on each Internet platform by constructing the internet tourism information analysis platform through computer technology. Needs analysis, overall architecture design, functional design, process design, database design are used in the Internet travel informat
7、ion analysis platform . The platform includes the functions of data collection, data storage, information classification and query. Firstly, I analyzed the structure of the page and formulated data acquisition module.Then I collected data through the web crawler technology and stored them in the dat
8、abase. Finally, to provide users with the comment text classification check consultation services,I set up internet comment text management system. Related technologies Like the HTTP, C#, mongodb database are used in construction of the system. As data acquisition timely, simple and stable operation
9、, the acquisition and management of internet News texts are realized basically. Key words: News information; Web crawler; Web front-end display; C#; database 昆明理工大学 设计(论文)专用纸 -i- 目录 摘要 . I Abstract . II 第一章 绪论 . 3 1.1 背景意义 . 3 1.2 现状 . 5 1.3 研究内容 . 6 1.5 论文组织 . 12 第二章 相关技术 . 13 2.1 Http 协议简介 . 13 2.
10、2 MongoDB 简介 . 19 2.3 Selenium+PhantomJS . 21 2.4 多线程 . 21 2.5 Fiddler . 22 2.6 代理池 . 22 2.7 MVC 设计模式 . 23 第三章 需求分析 . 24 3.1 系统总体需求 . 24 3.2 系统功能需求 . 25 3.3 非功能性需求 . 28 第四章 系统设计 . 29 4.1 系统架构设计 . 29 4.2 系统总体功能设计 . 30 4.3 系统详细功能设计 . 32 4.4 系统数据库设计 . 38 昆明理工大学 设计(论文)专用纸 -ii- 第五章 系统实现 . 41 5.1 系统典型界面 .
11、 41 5.2 关键程序实现 . 43 第六章 系统测试结论 . 49 6.1 测试原理 . 50 6.2 测试项目 . 50 6.3 测试结果 . 51 总结与体会 . 51 致 谢 . 52 参考文献 . 54 昆明理工大学 设计(论文)专用纸 -3- 第一章 绪论 1.1 背景意义 随着互联网的飞速发展,网络上的信息呈 几何 式增长。这使得人们 拥有如此多信息惊喜同时,发现在 网上找到所需信息 的 困难 和无助 ,这种情况下 催生出采集技术。 。 在互联网上进行自动数据采集这件事和互联网存在的时间差不多一样长。虽然网络数据采集并不是新术语,常见的称谓是网页抓屏( screen scrap
12、ing)、数据挖掘( data mining)、网络收割( Web harvesting)或其他类似的版本。今天我们更倾向于用“网络数据采集”这个术语,或把网络数据采集程序称为网络机器人( bots)。 理论上,网络数据采集是一种通过多种手段收集网络数据的方式,不光是通过与 API 交互(或者直接与浏览器交互)的方式。最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用 HTML 表单或其他网页文件),然后对数据进行解析,提取需要的信息。 实践中,网络数据采集涉及非常广泛的编程技术和手段,比如数据分析、信息安全等。 为什么要做网络数据采集 如果你上网的唯一方式就是用浏览器,那么你其实失
13、去 了很多种可能。虽然浏览器可以更方便地执行 JavaScript,显示图片,并且可以把数据展示成更适合人类阅读的形式,但是网络爬虫收集和处理大量数据的能力更为卓越。不像狭窄的显示器窗口一次只能让你看一个网页,网络爬虫可以让你一次查看几千甚至几百万个网页。 另外,网络爬虫可以完成传统搜索引擎不能做的事情。用 Google 搜索“飞往波士顿最便宜的航班”,看到的是大量的广告和主流的航班搜索网站。 Google 只知道这些网站的网页会显示什么内容,却不知道在航班搜索应用中输入的各种查询的准确结果。昆明理工大学 设计(论文)专用纸 -4- 但是,设计较好的网络 爬虫可以通过采集大量的网站数据,做出飞
14、往波士顿航班价格随时间变化的图表,告诉你买机票的最佳时间。 数据不是可以通过 API 获取吗? 如果能找到一个可以解决问题的 API,那会非常给力。它们可以非常方便地向用户提供服务器里格式完好的数据。 但我们 使用像 Twitter 或维基百科的 API 时,会发现一个 API 同时提供了不同的数据类型。通常,如果有 API 可用, API 确实会比写一个网络爬虫程序来获取数据更加方便。但是,很多时候你需要的 API 并不存在,这是因为: 你要收集的数据来自不同的网站,没有一个综合多个网站数据的 API; 你想要的数据非常小众,网站不会为你单独做一个 API; 一些网站没有基础设施或技术能力去
15、建立 API。 即使 API 已经存在,可能还会有请求内容和次数限制, API 能够提供的数据类型或者数据格式可能也无法满足你的需求。 这时网络数据采集就派上用场了。你在浏览器上看到的内容,大部分都可以通过编写程序来获取。如果你可以通过程序获取数据,那么就可以把数据存储到数据库里。 如果你可以把数据存储到数据库里,自然也就可以将这些数据可视化。 显 然,大量的应用场景都会需要这种几乎可以毫无阻碍地获取数据的手段:市场预测、机器语言翻译,甚至医疗诊断领域,通过对新闻网站、文章以及健康论坛中的数据进行采集和分析,也可以获得很多好处。 甚至在艺术领域,网络数据采集也为艺术创作开辟了新方向。由 Jon
16、athan Harris 和 Sep Kamvar 在 2006 年发起的“我们感觉挺好”( We Feel Fine, http:/wefeelfine.org/)项目,从 大量英文博客中抓取许多以“ I feel”和“ I am feeling”开头的短句,最终做成了一个很受大众欢迎的数据可视图,描述了这个世界每天、每分钟的感觉。 昆明理工大学 设计(论文)专用纸 -5- 无论你现在处于哪个领域,网络数据采集都可以让你的工作更高效,帮你提升生产力,甚至开创一个全新的领域。 掌握信息、数据,是大数据时代发展的需要,也是职业的需要,更是产业发展的需要。为了能创造出更高的经济价值,我们必须掌握高
17、效得到信息的工具 互联网已经进入大家的生活,利用互联网来获取有价值的信息势在必行。 本课题主要是实现一个 新闻网 热点新闻 评论获取,主要功能是抓取 新闻网 上的评论的信息,进行过滤返回相关有用的信息。通过本系统, 用户可以查看到 热点新闻 的评论信息 , 只需输入关键字,系统进行处理后,将会返回与关键字相关联的评论信息。 1.2 现状 目前网络数据采集采用的技术基本上是利用垂直搜索引擎技术的网络蜘蛛(或数据采集机器人)、分词系统、任务与索引系统等技术进行综合运用而完成;随着互联网技术的发展和网络海量信息的增长,对信息的获取与分拣成为一种越来越大的需求。人们一般通过以上技术将海量信息和数据采集
18、回后,进行分拣和二次加工,实现网络数据价值与利益更大化、更专业化的目的。 现阶段在国内从事“海量数据采集”的企业很多,大多是利用垂直搜 索引擎技术去实现 ,还有一些企业还实现了多种技术的综合运用。比如:“火车采集器”采用的垂直搜索引擎 +网络雷达 +信息追踪与自动分拣 +自动索引技术,将海量数据采集与后期处理进行了结合。 一般说来,从事专业海量数据采集的企业己属于是计算机数据分析方面的研究工作。 案例一、结合性搜索引擎 代表:谷歌、百度 互联网参与者越来越多,数据信息量也开始了暴发型增长。这个时期,采用采集技术的搜索引擎出现,国外 Google,国内 baidu 相继出现,他们不是单单采集数据
19、,制作索引提供大众,也慢慢帮助大众先进行过滤、预判信息首创度, 来源网站安全性,进行把关。提供采集、搜索技术服务。 昆明理工大学 设计(论文)专用纸 -6- 案例二、细分搜索服务 随着互联网规模的急剧膨胀,大而全得搜索引擎已经无法适应目前的市场状况,因此现在搜索引擎之间开始出现了细分领域的搜索引擎: Q 去哪儿网、 酷讯 网为代表 著名的去哪儿网 qunar,起初就是做机票价格采集、爬取服务网站。 现在去哪儿网 qunar 演变成为一个旅游出行,专业提供机票搜索信息、酒店旅游信息网站。 可以实时 全网搜索全部航空公司、代理商机票价格 , 从过去全网采集,聚集到行业性、细分领域采集 。 网络数据
20、采集大有所为 , 在大数据深入人心的时代,网络数据采集作为网络、数据库与机器学习等领域的交汇点,已经成为满足个性化网络数据需求的最佳实践。搜索引擎可以满足人们对数据的共性需求,即 “我来了,我看见 ”,而网络数据采集技术可以进一步精炼 数据,把网络中杂乱无章的数据聚合成合理规范的形式,方便分析与挖掘,真正实现 “我征服 ”。工作中,你可能经常为找数据而烦恼,或者眼睁睁看着眼前的几百页数据却只能长恨咫尺天涯,又或者数据杂乱无章的网站中满是带有陷阱的表单和坑爹的验证码,甚至 需要的数据都在网页版的 PDF 和网络图片中。 1.3 研究内容 1.3.1 采集 价值 1.3.1.1 应用 1、应用于搜
21、索引擎与垂直搜索平台搭建与运营 昆明理工大学 设计(论文)专用纸 -7- 2、应用于综合门户与行业门户、地方门户、专业门户网站数据支撑与流量运营 3、应用“电子政务”与“电子商务平台”的运营 4、应用于知识管理与知识共享 5、应用于“企业竞争情报系统”的运营 6、应用于“ BI 商业智能系统” 7、应用于“信息咨询与信息增值” 8、应用于“信息安全和信息监控”等 9、应用于“千瓦通信 -舆情雷达监测与测控系统”等 第一 阶段 、信息搜索服务 1.3.1.2 前景 人们通常所说的“海量数据采集”就是指类似垂直搜索引擎技术数据采集技术。根据网络不同的数据类型与网站结构,一套功能强大的采集系统均采用
22、分布式抓取、分析、数据挖掘等功能于一身的信息系统,系统能对指定的网站进行定向数据抓取和分析,在专业知识库建立、企业竞争情报分析、报社媒体资讯获取、网站内容建设等领域应用很广。 系统能大大降低少企业和政府部门在信息建设过程中人工的成本。面对海量资讯世界,在越来越多的数据和信息可以从互联网上获得时,对大量数据的采集、分析和深度挖掘同时还可能产生巨大的商机。 1.3.2 反采集 技术 有采集术,必有反采集术, 我们 这里只讨论技术层面 , 了解常见反采集手段,在不危害目标服务器正常工作,进行适当采集。 下面总结了常见反采集技术: 昆明理工大学 设计(论文)专用纸 -8- 1.3.2.1 限制 IP
23、地址单位时间的访问次数 分析:没有哪个常人一秒钟内能访问相同网站 5 次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。 弊端:一刀切,这同样会阻止搜索引擎对网站的收录 适用网站:不太依靠搜索引擎的网站 采集器会怎么做:减少单位时间的访问次数,减低采集效率 1.3.2.2 屏蔽 ip 分析:通过后台计数器,记录来访者 ip 和访问频率,人为分析来访记录,屏蔽可疑Ip。 适用网站:所有网站,且站长能够知道哪些是 google 或者百度的机器人 采集器应对 :利用 ip代理采集一次换一次,不过会降低采集器的效率和网速 (用代理 )。 1.3.2.3 利用 js 加密网页内容 Note:这个方法我没接触过,只是从别处看来 分析:不用分析了,搜索引擎爬虫和采集器通杀 适用网站:极度讨厌搜索引擎和采集器的网站 采集器应对 : Selenium+PhantomJS 技术方案 1.3.2.4 网页里隐藏 干扰信息 网页里隐藏 网站版权或者一些随机垃圾文字,这些文字风格写在 css 文件中 分析:虽然不能防止采集,但是会让采集后的内容充满了你网站的版权说明或者一些垃圾文字,因为一般采集器不会同时采集你的 css 文件,那些文字没了风格,就显示出来了。