该任务是在大学本科的时候的一个小作业,主要是对湾湾的新闻数据进行一个采集分析与可视化,任务比较简单。任务可分为两个部分,一个是爬取中时新闻网站的数据,二是对该数据进行处理与分析。

一、爬取数据数据:

没有数据,一切等于零。爬取数据我选择的新闻网站时中时,一是因为这是可以少数可以访问到的湾湾的新闻网站。我们想要有针对性的爬取数据,就是要利用该网站的搜索功能。我的逻辑思路是这样的,当输入一个关键词时候,网站自动去匹配整个新闻网的新闻数据,当新闻数据中出现该关键词就会被筛选出来,代码要实现的功能就是去翻页去爬取每页的新闻链接。

爬取的方式也很简单暴力,分两步,第一步先翻页,一页一页抓取网页的链接,第二步,通过这些链接去深度的爬取里面的内容,就相当于点击进去找到里面的正文。上代码:

def spiderbig(name,page):num=0hrefs=[]headers = {'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36",}for i in range(1,page+1):url = 'https://www.chinatimes.com/Search/'+str(name)+"?"+"page="+str(i)response = requests.get(url, headers=headers, timeout=600)html = etree.HTML(response.text)# hrefs = html.xpath('//div[@class="category"]/a/text()')lables = html.xpath('//div/div[@class="category"]/a/text()')# print(lables)for i in range(1,len(lables)+1):if lables[i-1]!=None:ptah='//li['+str(i)+']/div/div/div[2]/h3[@class="title"]/a/@href'href= html.xpath(ptah)hrefs=href+hrefsnum+=1print("此类新闻共"+str(num)+'条')return hrefs

这是第一步,先用python爬取大标题链接,给他命名为spiderbig函数,英文不好就暂且这样吧。觉得比较简单的代码了,也比较好好理解。

url = 'https://www.chinatimes.com/Search/'+str(name)+"?"+"page="+str(i)

#通过尝试发现网站的规律       str(name)是输入进来的关键词     str(i)是为了翻页

之后就是通过最常规的request、etree代码,最后用xpath去定位,所有的爬虫觉得差不多都是这样。之后进入下一步,该函数已经把搜索到的所有新闻数据的网址进行了搜集,我们需要干的就是进一步通过这些网址,去爬取正文。

def spiderdeep(url):headers = {'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36",}print("爬取网页:"+url)response = requests.get(url, headers=headers, timeout=600)html = etree.HTML(response.text)# print(response.text)key=html.xpath('//div[@class="article-hash-tag"]/span/a/text()')title =html.xpath('//h1[@class="article-title"]/text()')content=html.xpath('//div[@class="article-body"]/p/text()')time= html.xpath('//header/div/div[1]/div/div/time/span[2]/text()')print(title,key,time)return title,content,key,time

有了spiderbig,但不一定有spidersmall。对新闻网址进行深度的爬取,爬取的内容有新闻的标题(title),正文(content),关键词(key),时间(time)。对应的xpth路径可以去看看,我就不给大家展示了。

二、 数据处理与可视化:

主要涉及有两个部分进行联动展示,一个是把地名当成关键词,爬取所有和当地有关的新闻数据进行分析。用的就是普通的html和echarts工具做的简单的大屏。    

联动的可视化,当点击湾湾的某个市时,左面的词云图和右面的饼图都会进行更新,显示出该市新闻的关键词和该市新闻的分类,中间的湾湾热力图则展示了各个市新闻数量的多少。

第二部分是对湾湾人物名字当成关键词,爬取所有和该人物有关的新闻数据进行分析。如下图所示,中间的有许多湾湾的关键人物图片的蓝绿黑分别代表不同团队,点击某个人物也会进行一系列的联动,右边的饼图代表与他有关新闻的一个分类。

审美能力不高,能出结果就行,处理新闻数据的代码后续再写,包括对新闻数据的关键词提取,情感分析。不足之处请大家批评指正,谢谢大家。

对新闻数据的分析与可视化相关推荐

  1. 爬取最好大学网数据、分析并可视化操作

    爬虫爬取数据.分析并可视化操作 本次对最好大学网进行爬虫示例. 1.获取网页响应 def getHTMLText(url):try:resp = request.urlopen(url)html_da ...

  2. 使用python生成词云——聆心云心理健康服务平台数据可视分析和可视化

    实验题目:聆心云心理健康服务平台数据可视分析和可视化 实验目的和要求:统计出在聆心云平台做沙盘游戏的次数.根据各次沙盘游戏所使用的沙具和进行的操作数据进行词云可视化,掌握Python词云制作方法 实验 ...

  3. 文本数据可视化_非结构化文本数据的分析和可视化

    文本数据可视化 Stuck behind the paywall? Read this article with my friend link here. 卡在收费墙后面? 在这里与我的朋友链接阅读本 ...

  4. Python对阿里巴巴、谷歌、腾讯等六家公司股票数据进行分析与可视化实战(附源码 超详细)

    需要源码请点赞关注收藏后评论区留言私信~~~ 下面针对阿里巴巴.谷歌.亚马逊.Facebook.苹果和腾讯六家公司股票数据进行了分析与可视化描述,数据分析前需要安装互联数据获取包pandas-data ...

  5. 波士顿犯罪数据时空分析及可视化

    文章目录 前言 一.数据描述 二.数据预处理 三.犯罪时空分析 1.犯罪类型分析 2.犯罪时间特征分析 (1)基于年维度 (2)基于月维度 (3)基于日维度 3.犯罪空间特征分析 四.基于犯罪空间理论 ...

  6. Scanpy(六)空间转录组数据的分析与可视化

    目录 Reading data QC and preprocessing Manifold embedding and clustering based on transcriptional simi ...

  7. java大数据日志分析与可视化设计

    伴随着大数据科技的发展和成熟,越来越多的企业和机构使用大数据来进行分析和决策.其主要的分析数据来源于日志文件,所以对日志文件的分析是很重要的也是很关键的步骤. 本系统实现的功能是,将日志信息生成.日志 ...

  8. 如何使用SQL对数据进行分析和可视化

    什么是数据分析? 数据分析可以描述为清理.转换和处理原始数据以提取可操作的相关信息以帮助企业做出明智决策的过程.数据分析过程提供了有用的见解和统计数据,可以以表格.图表和图形的形式呈现. 在本文中,您 ...

  9. 【宝可梦数据分析–数据相关性分析及可视化】

    #数据集链接:https://pan.baidu.com/s/1U0XDJmi_lYI84UkPHgpDfA #提取码:1234 #导入相关库并打开CSV文件 import matplotlib.py ...

最新文章

  1. 通俗理解注意力机制中的Q、K和V表示的具体含义
  2. Javascript中函数提升和变量提升
  3. html纯css页面滑动效果,纯css3滑动按钮动画效果
  4. 运行 YunYang1994/tensorflow-yolov3 所遇到的一些问题记录
  5. 将html代码转换为dom,将HTML字符转换为DOM节点并动态添加到文档中
  6. go的goroutine像水一样自然
  7. mysql java 代码生成器_java代码生成器
  8. 解决vscode连接远程服务器remote-ssh连接不上的问题
  9. 为什么mysql启动不了了_Mysql为什么启动不了
  10. 【VFB】复制VB代码(VB与FB的差异)(VFB教程3-6)
  11. 从羽泉演唱会大数据看在线演出前景
  12. polyline与polygon
  13. Unity技能工厂——字体替换工具功能的实现!
  14. osgEarth示例分析——osgearth_srstest
  15. Jenkins高级篇之Pipeline语法篇-7-Declarative Pipeline指令:triggers/stage/tool
  16. 【渝粤教育】电大中专计算机职业素养 (4)作业 题库
  17. 如何安装husky_GitHook 工具 —— husky介绍及使用
  18. 关闭无限局域网配置服务器,无线局域网无线控制器MAC地址过滤配置实例-Cisco.PDF...
  19. Python机器学习bug:ValueError_ Expected 2D array, got 1D array instead
  20. LabVIEW设计自定义指示灯和按钮控件

热门文章

  1. web前端新手面试指南:自我介绍
  2. 小型水库雨水情测报及大坝安全监测系统
  3. 多层级部门结构展示与分级汇总
  4. YTU.2362: 愚公的遗愿
  5. Windows10 下安装mmdetection 问题之“cannot import name ‘deform_conv_cuda‘”
  6. 出租车收费题目及答案c语言,《基于单片机的出租车计费(c语言)》.doc
  7. kaggle数据集汇总_Kaggle比赛快速上手演示
  8. float f=3.4;是否正确?
  9. vivado工程打包
  10. mavros连接px4失败的usb-ttl原因