python爬取微博热搜显示到折线图_微博热搜榜前20信息数据爬取进行数据分析与可视化...

本文介绍了使用Python爬取微博热搜榜前20名的事件、排名和热度数据,然后进行数据清洗、可视化操作,包括条形图、折线图和散点图的绘制,最后分析了排名与热度的关系并建立了回归方程。通过可视化,作者发现排名与热度呈正比,强调事件内容的重要性。
摘要由CSDN通过智能技术生成

一、设计方案

1.主题式网络爬虫名称:微博热搜榜前20信息数据爬取进行数据分析与可视化

2.爬取内容与数据特征分析:爬取微博热搜榜前20热搜事件、排名与热度,数据呈一定规律排序。

3.设计方案概述:思路:首先打开目标网站,运用开发工具查看源代码,寻找数据标签,通过写爬虫代码获取所要的数据,将数据保存为csv或者xlsx文件,读取文件对数据进行数据清洗处理、可视化等操作。

难点:网站数据的实时更新,信息容易变动;重点在于寻找数据标签;对数据整理、可视化等代码的掌握程度较低,需要观看以往视频或者上网搜索,进度慢。

二、主题页面的结构特征分析

1.主题页面的结构与特征:通过分析页面得知所要获取的数据分布于a标签中,td为热度标签。

2.Htmls页面解析

3.节点(标签)查找方法与遍历方法:通过re模块的findall方法进行查找。

三、程序设计

1.数据爬取与采集

importreimportrequestsimportpandas as pd#爬取网站

url = 'https://tophub.today/n/KqndgxeLl9'

#伪装爬虫

headers = {'user-Agent':""}#抓取网页信息

response=requests.get(url,headers=headers,timeout=30)

response= requests.get(url,headers =headers)#爬取内容

html =response.text

titles= re.findall('.*?(.*?)',html)[4:24]

heat= re.findall('

(.*?)',html)[:20]

x= {'标题':titles,'热度':heat}

y=pd.DataFrame(x)#创建空列表

data=[]for i in range(20):#拷贝数据

data.append([i+1,titles[i],heat[i][:]])#建立文件

file=pd.DataFrame(data,columns=['排名','热搜事件','热度(万)'])print(file)#保存文件

file.to_excel('D:\\bbc\\微博热搜榜.xlsx')

2.对数据进行清洗和处理

#读取文件

<
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值