python - 如何获取新浪微博某个用户的转发微博数和原创微博数
问题描述
1.问题描述我正在做微博水军相关分析,需要获取微博用户的转发微博比和原创微博比,即用户转发他人微博数/所有微博数。
查阅文献发现很多人的论文中有这一类数据,但不知道怎么获得的。
我发现手机端和pc版本的微博,都可以利用筛选,查找一个人的转发微博,但是当我在手机版这样筛选时返回结果为空。
而电脑版得到的结果,转发微博数和原创微博数的和明显远小于全部微博数。
2.需要的帮助(1)新浪微博的搜索引擎是不是有问题(2)能否通过某种搜索方式得到一个人的原创微博数,和转发微博数,API与爬虫均可。(不是用全部微博数-原创微博数,因为还包含不可见微博)。
问题解答
回答1:我开源了一个分布式的微博爬虫,该项目最初是做关于热门微博转发的分析(和我本身工作相关)。后来经过我多次修改,加了很多新的功能,并把它开源出来了。关于第一个问题,微博的搜索引擎是否有问题,我觉得有可能是它刻意为之,因为比如像用户关注和用户粉丝,微博系统就只会限制返回5页数据,像按地方搜索用户,也只会返回几万条数据。也有可能是由于有些微博你没权限查看,而它搜出来的结果是你有权限查看的。你说的第二个问题,不可见微博肯定是拿不到的,爬虫只能拿到普通用户能看见的微博数据,这个我也是在代码中实现了。因为私有微博的话,肯定微博系统不会展示的,API应该也拿不到。因为微博这么大的公司,还是得保护一下用户隐私吧。移动端你通过搜索接口搜索返回为空的原因,其实可能是因为微博刻意这么做的。你可以仔细调研一下,会发现PC端的信息比移动端的微博信息丰富得多。所以如果要做爬虫,且要求数据全面,肯定得从PC端入手。
相关文章:
1. mysql - 瞬间流量很高的网站,要频繁的插入数据到数据库,应该怎么解决这个问题?2. node mysql 中 connection.query的问题3. javascript - 我写的href跳转地址不是百度,为什么在有的机型上跳转到百度了,有的机型跳转正确4. mysql - 数据库表之间设置外键是否可以提高查询效率?5. javascript - 京东首页如何实现pc端和移动端加载不同的html的?6. mysql - spring data jpa 方法sql复杂查询?7. 微信小程序如何将获取的时间戳提交到数据库?8. linux - python编译ssl错误9. mysql - 为什么innodb下更新A行时B行也被锁住?10. node.js - nodejs中mysql子查询返回多行结果怎么处理?