java实现微博热搜榜_微博热搜数据

该博客详细介绍了如何使用Python爬虫抓取并分析微博热搜数据,包括数据的获取、清洗、处理和可视化。通过XPath和正则表达式解析HTML,存储到CSV文件,然后使用Pandas进行数据处理,Matplotlib和Seaborn进行数据可视化,展示排名与热度的关系,建立一元一次和一元二次回归方程。
摘要由CSDN通过智能技术生成

------主题式网络主题式网络爬虫设计方案------

1.爬虫名称:爬取微博热搜

2.爬虫爬取的内容:爬取微博热搜数据。 数据特征分析:各数据分布紧密联系。

3.网络爬虫设计方案概述:

实现思路:通过访问网页源代码使用xpath正则表达爬取数据,对数据进行保存数据,再对数据进行清洗和处理,数据分析与可视化处理。

技术难点:在编程的过程中,若中间部分出现错误,可能导致整个代码需要重新修改。数据实时更新,会导致部分上传的图形不一致。

------主题页面的结构特征分析------

1.主题页面的结构和特征分析:爬取数据都分布在标签'div.cc-cd-cb nano has-scrollbar'里面,标题标签为'span.t',热度标签为'span.e'。

2.Htmls页面解析:

283eaacc6cdf3bfaa6a6966b3a6e107b.png

44b2f9954334d8342ad73d259e063475.png

3.节点(标签)查找方法与遍历方法:通过xpath遍历标签。利用xpath正则表达查找。

------网络爬虫程序设计------

importrequestsfrom lxml importetreeimportpandas as pdimportnumpy as npimportmatplotlib.pyplot as pltimportmatplotlibfrom scipy.optimize importleastsqimportscipy.stats as stsimportseaborn as sns

url= "https://tophub.today/"headers= {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362'}

html= requests.get(url,headers = headers)

html= html.content.decode('utf-8')

html = etree.HTML(html)

div= html.xpath("//div[@id='node-1']/div")for a in div:

titles = a.xpath(".//span[@class='t']/text()")

numbers = a.xpath(".//span[@class='e']/text()")

b= []

for i in range(25):

b.append([i+1,titles[i],numbers[i][:-1]])

file = pd.DataFrame(b,columns = ['排名','今日热搜','热度(单位为万)'])print(file)

file.to_csv('微博热搜榜热度数据.csv')

328d1ee04adf6f7f6a604f1b4dcb93b5.png

eb8cfc5844b5f4a5d49f30c445efcd76.png

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

df = pd.DataFrame(pd.read_csv('微博热搜榜热度数据.csv'))

df.head()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值