pycharm爬取微博热搜榜并进行数据分析可视化代码
时间: 2023-10-18 18:04:49 浏览: 143
本项目以电影数据为主题,以数据采集、处理、分析及数据可视化为项目流程,可实现百万级电影数据离线处理与计算
以下是一个简单的爬取微博热搜榜并进行数据分析可视化的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
# 爬取微博热搜榜
url = 'https://s.weibo.com/top/summary?cate=realtimehot'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find_all('table')[0]
trs = table.tbody.find_all('tr')
# 解析数据
data = []
for tr in trs:
tds = tr.find_all('td')
if len(tds) == 3:
rank = tds[0].text.strip()
title = tds[1].a.text.strip()
hotness = tds[2].text.strip()
data.append([rank, title, hotness])
# 转换为 DataFrame
df = pd.DataFrame(data, columns=['rank', 'title', 'hotness'])
# 数据可视化
plt.figure(figsize=(10, 10))
plt.barh(df['title'], df['hotness'].astype(int))
plt.title('微博热搜榜')
plt.xlabel('热度')
plt.ylabel('标题')
plt.show()
```
代码解释:
1. 使用 requests 库向目标网址发送 GET 请求,获取网页源代码。
2. 使用 BeautifulSoup 库解析网页源代码,定位到微博热搜榜的表格,并解析出表格中的排名、标题和热度数据。
3. 将数据转换为 Pandas 的 DataFrame 格式。
4. 使用 Matplotlib 库将数据进行可视化处理,生成一张柱状图。
注意:该代码仅供学习参考,未经微博官方授权,请勿用于商业用途。
阅读全文