如何用Python爬取张雪峰微博并实现情感分析与词云可视化?
摘要:张雪峰老师的突然逝世,全网都感到无比的悲痛,他说:钱财早已不重要,能实实在在帮到普通人,才是活着的意义。为此他长期的身心透支,默默地付出着自己。 看到不少博主推送的消息,都说:张雪峰老师很累,长期拼搏到凌晨,为了验证一下这个结果,我以微博里
张雪峰老师的突然逝世,全网都感到无比的悲痛,他说:钱财早已不重要,能实实在在帮到普通人,才是活着的意义。为此他长期的身心透支,默默地付出着自己。
看到不少博主推送的消息,都说:张雪峰老师很累,长期拼搏到凌晨,为了验证一下这个结果,我以微博里张雪峰老师发送的微博内容使用AI全流程开发一个简单的爬虫,系统分析一下结果。
一、AI写爬虫代码
我这里使用的是trae这个开发工具,使用GPT5的模型来完成全流程开发
我们先来到微博的移动端,打开张雪峰老师的主页:https://m.weibo.cn/p/2304131676679984
通过搜索微博内容,我们定位到了查询微博内容的API接口如下
因为提示词较多,我们可以新建一个txt文档,然后编写好对应的微博爬虫需求,并提供API示例给到AI
提示词如下:
使用python帮我实现微博爬虫,我需要爬取某一个用户下发表的所有微博记录,并将数据输出到csv格式的文件里。要求如下:
1、查询微博记录的API接口如下:
url = "https://m.weibo.cn/api/container/getIndex"
params = {
"containerid": "2304131676679984" # 用户id
}
response = requests.get(url, headers=headers, params=params)
数据返回示例:{填写实际返回的数据}
2、分页的API接口如下:
url = "https://m.weibo.cn/api/container/getIndex"
params = {
"containerid": "2304131676679984",
"page_type": "03", # 页面类型,固定
"since_id": "5260895959385732" # 好像是通过这个进行分页的
}
response = requests.get(url, headers=headers, params=params)
2、csv格式要求如下:
微博记录id,微博内容,微博发送时间
紧接着,我们引用一下这个txt文档,让AI用python来帮我们实现一下
接下来,就是静静地等待了,你可以去摸摸鱼,散个步放松一下心情,
他给了我带命令行的版本,可是我本人并不喜欢命令行这种方式,我喜欢直接在代码里填入参数的方式。
于是我告诉他的提示词如下:
我不要使用带命令行的,我需要直接封装成函数,我直接在代码里填入相应的参数,爬取的页数就能够自动获取微博内容结果
很快,AI就帮我改好了
我们来运行一下代码,跑一下看看,输出了一个weibo_posts.csv的文件,我们打开看一眼,已经基本上满足了我们的要求,但是发现时间格式不正确,我希望把时间格式化成:yyyy-MM-dd HH:mm:ss这种格式的。
于是我给了他下面的提示词:
weibo_posts.csv 2-2 这个文件的时间格式请格式化成:yyyy-MM-dd HH:mm:ss
很快他就帮我改好了代码,并输出了正确的结果。这是爬取下来的部分结果:
写完爬虫这部分的代码所花费的时间不到10分钟,不得不说,AI开发效率是真的提升巨大!
二、AI生成词云图
紧接着,我们生成一下词云图,AI提示词如下,在这里,我的习惯是:鼓励一下AI,并承诺做得好,给他大大的奖励!
请你根据生成好的weibo_posts.csv这个文件,生成具体的高频词云图,越高频的词语在图片上越大。
请一定要发挥你全部的实力,做得好,我会给你一笔丰富的报酬!
AI又开始给我干活了,我们耐心等待几分钟。
