【爬虫、数据可视化实战】以“人口”话题为例爬取实时微博数据并进行舆情分析
由于原始代码已经提供了一个很好的实例,以下是核心函数的简化版本,展示如何使用Python爬取实时微博数据并保存到CSV文件中。
import requests
import csv
# 微博实时热搜索接口
weibo_api = 'https://s.weibo.com/weibo/ajax_hot_data?type=realtime&Referer=https%3A%2F%2Fs.weibo.com%2Fweibo%2Fajax_hot_data%3Ftype%3Drealtime%26Referer%3Dhttps%253A%252F%252Fs.weibo.com%252Fweibo%252Fajax_hot_data%253Ftype%253Drealtime%2526Referer%253Dhttps%25253A%25252F%25252Fs.weibo.com'
# 发送请求
response = requests.get(weibo_api)
# 检查请求是否成功
if response.status_code == 200:
# 解析JSON数据
data = response.json()
results = data['data']['hot_list']
# 创建CSV文件并写入头部信息
with open('weibo_data.csv', 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['rank', 'keyword', 'count'])
# 遍历结果并写入CSV文件
for result in results:
writer.writerow([result['rank'], result['keyword'], result['count']])
print("数据爬取成功,已保存到weibo_data.csv文件。")
else:
print("数据爬取失败,状态码:", response.status_code)
这段代码首先定义了微博实时热搜索的API接口,然后发送GET请求并检查响应状态。如果请求成功,它会解析JSON数据,并将热搜数据写入CSV文件。这个例子展示了如何使用Python进行简单的网络爬取,并对数据进行存储,为进一步的分析和可视化做准备。
评论已关闭