python爬虫微博数据(怎样用python爬新浪微博大V所有数据)

本文目录
- 怎样用python爬新浪微博大V所有数据
- 如何利用python爬虫获取数据
- 可以用Python爬虫监控一个人在微博等社交网络发出与收到的评论吗
- API编程抓取新浪微博、大众点评等方面的数据,编写一套工具,抓取一类数据,用python语言编写爬虫
- 如何用python实现爬取微博相册所有图片
- python爬虫编码问题
- python爬虫:微博评论分析
怎样用python爬新浪微博大V所有数据
先上结论,通过公开的api如果想爬到某大v的所有数据,需要满足以下两个条件:
1、在你的爬虫开始运行时,该大v的所有微博发布量没有超过回溯查询的上限,新浪是2000,twitter是3200。
2、爬虫程序必须不间断运行。
新浪微博的api基本完全照搬twitter,其中接口的参数特性与底层的NoSQL密不可分,建议先看点Nosql数据库的设计理念有助于更好的理解api设计。
一般来说,如果决定爬某个大v,第一步先试获取该用户的基本信息,中间会包含一条最新的status,记下其中的id号作为基准,命名为baseId。
接口中最重要的两个参数:
since_id:返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0。
max_id:返回ID小于或等于max_id的微博,默认为0。
出于各种原因,获取statuses的接口,固定为按id降序排列(scan_index_forward=false),即最新的statuses返回在前。假设该微博第一天上线,就一个用户,发了一百条,id是1到100。而你在该用户发了第50条的时候开始运行的爬虫,即baseId=50。
假设按每次获取10条历史数据递归,先将max_id设为baseId,获取该用户id为41-50的微博,再将max_id设为41重复循环,直到返回微博数量为1或0。这步没有问题。
获取用户最新的statuses就有些蛋疼了,since_id=50,同样获取10条数据,返回的并不是id值为51-60的数据,而是100-91的数据。简单说就是你没法从since_id逐步更新到用户当前status,而是得一口气从用户当前status更新到上次爬虫运行时得到的最后一条status。假设你的爬虫一个月才运行一次,该用户在这期间发了2300条微博,根据限制你只能更新2000条,这其中最老的300条在你的系统内就会出现“断档”。
最后一条,以上只针对公开的api,stackoverflow上twitter
API可以申请权限突破数量限制和更改排序机制,微博也应该有类似机制。
如何利用python爬虫获取数据
以下代码运行通过:
import re
import requests
def ShowCity():
***隐藏网址***
***隐藏网址***
for city in citys:
print(city)
ShowCity()
运行效果:
可以用Python爬虫监控一个人在微博等社交网络发出与收到的评论吗
你可以监控已授权的账户收到的评论和自动回复评论,微博是有这个相关api的,至于监控其他人的,就不是很清楚了,你可以看一下微博开放平台上的微博API
***隐藏网址***
API编程抓取新浪微博、大众点评等方面的数据,编写一套工具,抓取一类数据,用python语言编写爬虫
这个不难实现
但是你如果要可持续的话
这个几乎是不可能实现的
鬼知道人家网页什么时候更新
所以这个自己做起来不会难
更新了自己可以随时维护
如何用python实现爬取微博相册所有图片
三种方案:
1.直接用Python的requests库直接爬取,不过这个需要手动做的事情就比较多了,基本上就看你的Python功力了
2.使用scrapy爬虫框架,这个框架如果不熟悉的话只能自己先去了解下这个框架怎么用
3.使用自动测试框架selemium模拟登录操作,及图片爬取,这个对于大多数会点Python编码的人来说是最好的选择了,他比较直观的能看到怎么去获取数据
每种方案的前提都是你必须有一定基础的编码能力才行,不是随便一个人就能用的
python爬虫编码问题
《span style="font-size:18px;"》./s //在终端中运行程序
Current directory is :/home/talk8/CExample //通过API得到当前工作目录
./s pwd //在终端中运行程序,第二个参数是pwd,表示让程序执行pwd命令
/home/talk8/CExample //通过execlp得到当前工作目录
python爬虫:微博评论分析
最近王和李的离婚闹得沸沸扬扬,相信大伙们都已经吃了不少的瓜。本文结合李的第一篇文章发文下面的网友们的评论来看看大家到底怎么看待这件事。
***隐藏网址***
爬取的下面的全部评论:
微博的网页属于Ajax渲染,当我们向下滑动的时候会显示的评论,地址栏的URL不变,需要找到实际的请求URL。
1、右击【检查】,找到【Network】
2、确定每页的内容URL
这里是首页部分
滑动之后显示每页内容的URL;
3、每页的URL地址
从第二页开始的URL地址多的部分是max_id,刚好这个参数的值是前一页的返回内容:
4、介绍第一页的爬取
比如我们可以获取第一个用户的相关信息:
最终我们可以看到第一页爬取的数据展示:
参考上面的逻辑可以爬取到微博下面的全部评论
导入需要的库:
查看我们爬取到数据的基本信息,我们导入前5行数据:
基本信息:查看数据的shape形状,总共是47638行,8个字段,并且不存在缺失值。
将我们爬取到的格林威治形式的时间转成熟悉的标准化时间形式:
国内的省份中北京、广东、上海、江苏都是吃瓜的大省份!
果然:女性真的很爱吃瓜远超男性
通过点赞数和回复数来看看这篇微博下的火爆评论:
有位网友的评论87万+的点赞数!666
同样还是这位网友的评论,回复数也是No.1
从点赞数和回复数的整体分布来看,这条评论真的是别树一帜!已经完全偏离了其他的数据:
查看原数据我们发现这条评论就是:
看来以前的很多爆料都被锤啦!
通过用户的年龄和点赞数、回复数来看,用户年龄在7、8、9、10年时的用户更为活跃;年龄偏大或者新生的微博用户的评论较少。
同时点赞数也集中在2000-5000之间的部分
从用户的评论时间点来看,当李发了第一篇文之后,瞬间引爆了评论(左侧密集部分);这条微博沉寂了4天,没有想到23号的晚上又火了
将粉丝的评论内容分词找到他们的重点:
重点关注下前50个词语:
除了两位当事人, 粉丝还比较关心他们的孩子 。毕竟孩子是无辜的,但是他们的瓜不正是孩子引起的吗?个人的看法。
总之:不管是王还是李,如果真的是渣男或者渣女,请上十字架,阿门!
Python爬虫有一个非常厉害的框架Scrapy,我联系了北京大学出版社送两书:《Python网路爬虫框架Scrapy从入门到精通》。 精选两位走心留言的小伙伴
对Python爬虫感兴趣的朋友也可以直接购买喔。

更多文章:
perl数组中最多的元素(用perl实现,得到一个数组中重复次数最多的元素)
2026年10月10日 17:00
oracle11g端口映射客户端频繁掉线(oracle本地进行连接的时候报错ORA-12560: TNS: 协议适配器错误)
2026年10月10日 16:10
vb程序设计里面的x是啥(VB程序设计中的变量是如何定义的,请大家帮帮忙告诉我)
2026年10月10日 10:40
java定时器每一分钟执行一次(java定时执行问题: 我想让一个Java代码在每小时的第25分钟执行一次的,这个怎么实现)
2026年10月10日 08:50
abap开发工作经历(目前,从事的是ABAP开发的不知道做这个有没有什么前途啊好的话,我会加分的~)
2026年10月10日 01:10





