大数据初体验——基于地图可视化分析新浪新闻评论地域分布特点
**概述:**本文带领大家初次体验大数据处理的一些经过,从从灵感的迸发,信息的获取,数据的处理,到地图可视化,各方面都进行了抛砖引玉的论述,对于部分技术细节也做了些许探讨,希望能和大家一起捅破大数据处理的窗户~~一、灵感的迸发==============平时在网上浏览新闻的时候,我总能沉浸其中,无法自拔,好吧,我说的是各种神评论……所谓,高手在民间,水军在遨游,键盘侠在江湖,往往一条百十来字的新闻短讯,总是能轻易获取百万千万的点击量和关注度,尤其是关于娱乐圈爱恨情仇,更是能一石激起千层浪,吊足了观众胃口,博满了大众眼球,对于我这种无欲无求的吃瓜群众,也总能在各种撕X大战的评论中体会到汉语的博大精深,跪倒在网友的脑洞大开之下。所以我就特别好奇,都是那些才华爆表的网友爆出了这些个奇葩金句?
咱就不八卦了,看一些正能量的新闻
点开新闻的评论,可以看到没条评论显示的详细信息:
每条评论都有位置信息,我们把每一条评论收集下来,汇总处理,就可以在地图上显示了。
二、信息的获取==============
利用python爬虫,获取每一条评论的信息,把得到的详细信息保存成csv格式的文件。我们一步一步来实现:
第一步,分析获取评论信息时浏览器都提交了什么。----------------------------------------------
点击新闻链接,得到新闻网址(http://news.sina.cn/2016-11-12/detail-ifxxsfip4563934.d.html?pos=3)利用chrome浏览器的开发者工具,获取到浏览器提交的数据
对应的request header为
[*http://cmnt.sina.cn/aj/v2/index?product=comos&group=0&index=fxxsfip4563934&page=1*](http://cmnt.sina.cn/aj/v2/index?product=comos&group=0&index=fxxsfip4563934&page=1)有耐心的话我们可以多测试几次就发现,不同新闻的评论网址中,index的值不同,同一新闻不同评论页面的page值不同,而index的值,就是我们访问的新闻地址中的detail的值:(http://news.sina.cn/2016-11-12/detail-ifxxsfip4563934.d.html?pos=3)(红色部分)。到这里就好办了,把新闻地址中的detail-i后面的字符串提取出来,再按照新闻评论的地址构造request请求地址,就可以获得新闻评论的详细信息,通过改变page的值,就可以获得每一页的评论。代码如下:
第二步,获得页面信息,利用正则表达式分析网页并提取我们所关心的信息。--------------------------------------------------------------------
这一步比较简单,就是简单地网页解析,这里我们获取了"ip"IP地址、"area"位置信息,"content"评论内容,"nick"昵称,"time"时间,"config"用户终端类型,"agree"点赞数,"face"头像图片链接等一些信息,再保存成csv格式就好,额外的,我这里利用百度开放API把位置转化成经纬度显示。
最后得到的csv文件打开是这样的(我只爬取了前二十页的评论内容,当然,真正的大数据往往处理的都这就是百万千万亿万的数据,我这里只是那几百上千的数据初步体验一下~~)
在这个表格中,共获取了728条这样的数据
第三步,数据的处理------------------
刚才获得的信息里面,就包含了前二十页评论的全部内容,对于这样的初步数据,还是有一些粗糙的,比如说,用户名有重复(为什么会有重复呢?因为同一个评论可能又被其他用户评论了,所以一个评论可能会多次出现),评论内容有重复(可能同一个用户多次发同一个评论,可能不同人发送相同评论),这些数据在我们下一步可视化处理之前,都要根据我们的用途做不同程度的优化。我下一步要分析的是不同地区用户的分布,需要的数据就是用户名,对应的位置信息这两项。因此在这里假设每一个用户可能多次评论,但简单地认为该用户就在这一个地区使用,也就是说,我们要先剔除重复的的用户,保证每个用户名只出现一次。利用excel的函数即可实现。先把本次处理需要的数据提取出来新建一个表格
仔细分析上图数据,我们发现存在有问题,一是同一用户位置和地址显示的有的不一致。其中位置是我在网页中爬取得,地址和坐标是利用网页爬取到的IP转换的,之所以会有这样的问题存在,可能和数据源的差异有关,不过在所有数据中,这一部分误差是很小的。那么这里我为什么要根据IP载重新获取地址呢,我考虑的是按照IP来作为我处理的标准,除去个别可能用代理IP来看新浪新闻的用户,其实IP还是能真实反映出用户发表评论时的所在地。二是同一个用户,发表了不同的评论,所以他的用户名出现了两次,像这样的就要剔除掉重复的。根据用户名剔除重复的,最后数据如下:
七百多个评论中,有将近三百个重复的,说明用户讨论的还是比较多的,因为只有用户之间相互回复评论,才能出现这么多重复的用户名
第四步,可视化处理。====================
在数据分析软件中(我用的是适合新手操作的网页版),按照要求的格式上传数据,选择图表模式,一步一步就得到了我们想要的结果了——是不是一眼就看出来那些地区的新浪用户多了吧。打开地图看一看,有没有你附近的人刚刚发表了神评论~~大体分布:
点击某个标记,即可看到评论的详细信息
更改地图模板,看看用户分布热力图
**原来这些用户大都来自沿海地区额。毕竟沿海地区发达,用手机的人多,对特朗普新闻关注的可能性也大。内地的互联网发展起来还有很大空间。其实图中显示的贵州、川渝地区也相对于其他西部地区密集,成都不愧是西南的中心城市,贵州前期重点发展的互联网、云技术看来也为互联网繁荣奠定者基础。
当然这只是简单一个分析,毕竟我们取得的样本的合理性还有待商榷,不过方法就是这样的方法,路子就是这样的路子,当我们有精确地数据来源,按这个方法来就可以了。数据处理完了,我们根据这张图有什么细思极恐的发现吗?反正我是只看到了如果下一次我们对淘宝的某一个热销产品爬取一下数据,获得购买这一产品的用户分布,比如说三星note,是不是就可以得到一张“不定时炸弹分布图”呢?商家是不是可以根据这些分布图来布局促销方案,或者在那些购买者比较多的地区多开设服务站呢?这也就是大数据带给我们的福利吧!
大数据初体验——基于地图可视化分析新浪新闻评论地域分布特点相关推荐
- 基于大数据的动漫影视可视化分析系统
温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 本动漫分析系统开发语言为Python,并进行数据清洗,数据处理,并最后利用可视化技术进行动漫数据分析 ...
- 结合GIS与空间大数据的淄博烧烤空间可视化分析
' 淄博烧烤,你听说过吗?如果你还没有品尝过这种独具特色的美食,那么你一定要抓紧机会,趁着五一假期,坐上高铁,来到这座历史悠久的城市,感受一下淄博烧烤的魅力.随着淄博烧烤在互联网的爆火,这座山东小城, ...
- 【大数据平台】基于Spark的美国新冠肺炎疫情数据分析及预测
(本实验系中国地质大学(武汉)2022年秋期大数据平台及应用课程设计) 一.选题背景 新型冠状病毒疫情是由严重急性呼吸系统综合征冠状病毒2(SARS-CoV-2)导致的2019冠状病毒病(COVID- ...
- 基于大数据spark+hadoop的图书可视化分析系统
- 基于tensorflow+CNN的新浪新闻文本分类
2018年10月4日笔记 tensorflow是谷歌google的深度学习框架,tensor中文叫做张量,flow叫做流. CNN是convolutional neural network的简称,中文 ...
- 基于tensorflow+RNN的新浪新闻文本分类
2018年10月11日笔记 tensorflow是谷歌google的深度学习框架,tensor中文叫做张量,flow叫做流. RNN是recurrent neural network的简称,中文叫做循 ...
- Py之pyecharts:基于大数据对人工智能进行各种可视化图表分析
pyecharts:基于大数据对人工智能进行各种可视化图表分析 目录 1. Bar(柱状图/条形图) 2 EffectScatter(带有涟漪特效动画的散点图) 3 .Funnel(漏斗图) 4.Ga ...
- gis可达性分析步骤_如何使用数据分析软件实现GIS地图可视化?
GIS 地图可视化是基于 GIS 技术,在地图空间上对存在的事物和发生的时间进行成图和分析.GIS 地图可视化比传统静态地图的可视化更加智能,它会根据经纬度数据具体定位到某个地点,不局限于只展示省份. ...
- 基于大数据的城市轨道交通客流分析及调控策略【附PPT】
来源:2020世界交通运输大会(WTC) 北京交通大学 交通运输学院 姚恩建教授的分享,支持原创,版权归作者所有,如有侵权,联系立删.禁止二次转载.欢迎转发支持.公众号内回复[轨道交通],获取PPT下 ...
最新文章
- 【Android 逆向】Android 逆向基本概念 ( 定位内存中的修改点 | 基址寻址法 | 搜索定位法 )
- HTML/CSS学习笔记02【表单标签】
- mysql允许两个用户远程连接_mysql允许用户远程连接
- 3331付款方式怎么写_拼多多怎么刷单 为什么要刷单
- 20155305乔磊2016-2017-2《Java程序设计》第四周学习总结
- python每秒20个请求_使用Python每秒百万个请求
- PostgreSQL 简单的查询
- Ubuntu16.04下禁用scp、sftp和winscp
- string 都不能作用于switch_这个东西看似细细的,作用大大滴!每个人的牙齿都不能没有它!...
- 关于水晶报表打包的一些注意的地方!
- 区块链社会:解码区块链全球应用与投资案例
- android 动画完成后不可点击事件,android – TranslateAnimation后按钮不可点击
- 银行电话精准营销的探索性分析并基于XGboost进行潜在客户预测建模
- 微信开发(微信扫一扫)商品创建
- C/C++基础 hypot函数
- 基于TIA博途的一阶滞后滤波+中位值滤波+堆栈平均值滤波算法SCL语言程序(封装FB库)
- maven 设置打包路径为模块_Maven项目的子模块不能打成jar包输出到lib目录
- 苦尽甘来 一个月学通JavaWeb(三十五 数据库)
- 金价看跌k线图组合图解(孤岛组合)
- resultMap中的association使用