为了知道胡歌粉丝的男女比率,爬了三百万微博数据

发布时间:2025-05-18 02:29

最近偶然间看到一条新闻,标题是:“胡歌作为一个男性明星,男粉丝比女粉丝还多,这不科学!”

文中这样说道“胡歌在微博上的粉丝就已经达到了5748.9398万人,并且通过查看粉丝可以发现许多都是男性粉丝,这不得不说这是独一无二了”

当时我就震惊了,“通过查看粉丝”???这是什么操作,现在的UC小编越来越多了吗?

我作为一名老胡的粉丝,简直是不能忍,这完全是在瞎写啊。

那么问题来了,我要怎样才能尽可能多的抓到粉丝数据?

这里我就想要尽可能多的抓取到老胡的活跃粉丝, 所谓活跃粉丝,指的是除去“不转发、不评论、不点赞”这些“三不”用户,是活跃的、有参与的用户。这些用户才是真正有价值的,正好去除了僵尸粉。

爬虫逻辑

爬虫分为三步:

1. 采集胡歌所有微博

2. 采集每条微博的三类数据(转发、评论、点赞)

3. 数据清洗

好了,现在已经非常清晰了,下面就开始去寻找爬取方法。

微博接口

根据以往的经验,weibo.cn 和 m.weibo.cn 是最简单爬取的,weibo.com 是最难的。这次我们从 m.weibo.cn 入手,分析可以得到胡歌微博的接口,而且是无需登录的!!!很重要。其他入口都需要解决登录难题!

https://m.weibo.cn/api/container/getIndex?containerid=1076031223178222&page={}

返回数据:

cardlistInfo: {containerid: "1076031223178222",v_p: 42,show_style: 1,total: 3643,page: 2},

这里告诉我们总共有3643条数据,每页10条,那么翻页就很清晰了。

其他接口

转发:https://m.weibo.cn/api/statuses/repostTimeline?id=4238119278366780&page={}评论:https://m.weibo.cn/api/comments/show?id=4238119278366780&page={}点赞:https://m.weibo.cn/api/attitudes/show?id=4238119278366780&page={}

(想要爬其他人,替换这里的id即可)

total_number: 19526897,hot_total_number: 0,max: 1952690

(简单测后发现总页数为total_number//55)

采集用户信息接口

其实不需要这一次请求,因为在转发接口中已经有我们想要的数据了,如下:

user: {id: 6431898981,screen_name: "豪气superiority",profile_image_url: "https://tvax2.sinaimg.cn/crop.9.0.220.220.180/0071hAK9ly8fmdxpea2vxj306n064glj.jpg",profile_url: "https://m.weibo.cn/u/6431898981?uid=6431898981&featurecode=20000320",statuses_count: 7255,verified: false,verified_type: -1,close_blue_v: false,deion: "",gender: "m",mbtype: 0,urank: 4,mbrank: 0,follow_me: false,following: false,followers_count: 2,follow_count: 62,cover_image_phone: "https://tva1.sinaimg.cn/crop.0.0.640.640.640/549d0121tw1egm1kjly3jj20hs0hsq4f.jpg",avatar_hd: "https://wx2.sinaimg.cn/orj480/0071hAK9ly8fmdxpea2vxj306n064glj.jpg",like: false,like_me: false,badge: {user_name_certificate: 1,wenchuan_10th: 1}

很蛋疼的是,点赞和评论接口中并没有相关数据,所以点赞和评论部分要重新爬取,如下:

{id: 4247512245791226,created_at: "5分钟前",source: "微博 weibo.com",user: {id: 6114792181,screen_name: "Ming_54456",profile_image_url: "https://tvax1.sinaimg.cn/crop.367.164.918.918.180/006FP2Mlly8fjs2mf3x6pj319x0yoqbo.jpg",verified: false,verified_type: -1,mbtype: 12,profile_url: "https://m.weibo.cn/u/6114792181?uid=6114792181&featurecode=20000320",remark: "",following: false,follow_me: false}},}

微博官方API同样提供相应数据 ,建议使用前仔细阅读接口访问频次权限

爬虫代码

爬虫语言是Python3,使用Scrapy框架,数据保存在mongo,没有使用分布式,单机3天跑完。

因为微博的反爬,需要大量代理支撑。

# code is far away from bugs with the god animal protecting I love animals. They taste delicious. ┏┓ ┏┓ ┏┛┻━━━┛┻┓ ┃ ☃ ┃ ┃ ┳┛ ┗┳ ┃ ┃ ┻ ┃ ┗━┓ ┏━┛ ┃ ┗━━━┓ ┃ 神兽保佑 ┣┓ ┃ 永无BUG! ┏┛ ┗┓┓┏━┳┓┏┛ ┃┫┫ ┃┫┫ ┗┻┛ ┗┻┛

爬取的数据实例:

{"_id" : ObjectId("5b162d10e0eafb1d6e63b460"),"id" : NumberLong(5372682651),"statuses_count" : 10599,"screen_name" : "用户5372682651","profile_url" : "https://m.weibo.cn/u/5372682651?uid=5372682651","deion" : "暂无数据","gender" : "f","followers_count" : 80,"follow_count" : 1060}

简单数据清洗

最终跑完一次爬到的数据有3889285,因为有大量页面会跳转到登录页面,对这些请求做一个重试效果会好些。

数据清洗对我来说真的是个头疼的问题,找了很多相关资料,最后使用mongo aggregate方法,该方法也是我第一次使用,下面是代码:

db.getCollection('Weibo').aggregate( [ {"$group" : {_id:{id:"$id",gender:"$gender"}, count:{$sum:1}}}, {$sort:{"count":-1}}, { $out:"result"}, ], { allowDiskUse:true, cursor:{} } )

结果产生了一张新的表,对每个ID进行统计,并排序,如下:

{"_id" : {"id" : NumberLong(5737668415),"gender" : "f" },"count" : 106701.0}{"_id" : {"id" : NumberLong(5909154992),"gender" : "m" },"count" : 72298.0}

参与次数达到十万次,天呐,超级真爱粉,缘来是她,疯狂刷屏有没有!

好了,现在开始看看真正的数据吧。

本次共采集用户数据3889285条,原始数据中男性占比33.68%,女性占比66.32%,好吧,看来女性粉丝更多;去重之后数据共有1129035,男性占比29.58%,女性占比70.42%,怎么看着女性粉丝还是更多呢……

我们再来计算一个数据,亲密度大于10的粉丝共有16486位,其中男性占比24.05%,女性占比75.95%,于是有下面这张表格。

这个数据挺有意思的,画张表瞧瞧

结论

看了这些数据,相信大家自己心中已经有了答案。

知乎上有这样一个问题,“为什么没有人讨厌胡歌?”

有一个点赞很高的回答:为什么要讨厌一个10年前是李逍遥,10年后是梅长苏的演员?”

人生如戏,李逍遥和梅长苏就是10年前的胡歌和现在的胡歌,但他们相似的不只是经历,更是格局。

世界以痛吻我,要我报之以歌。

本文并不是为了证明什么,只是作为一名普通粉丝想去看看更多东西。其实本次数据爬取有很多地方需要优化,大家不用太过当真。

返回搜狐,查看更多

网址:为了知道胡歌粉丝的男女比率,爬了三百万微博数据 http://c.mxgxt.com/news/view/1253063

相关内容

人品好又敬业,难怪胡歌微博的这项数据比谢娜都恐怖!
胡歌男粉丝占据大半江山, 你知道原因吗?
粉丝“搬家”:微博数据攻坚战
胡歌作为一个男性明星,男粉丝比女粉丝还多,这不科学!
【深度】粉丝“搬家”:微博数据攻坚战
艺人自评数千条,粉丝集资数百万,“微博搬家”的饭圈生意
一次微博数据挖掘试验:鹿晗粉丝的七张画像
男粉丝比女粉丝还多的男艺人?那也就只有胡歌了吧!
胡歌终于承认结婚了 胡歌男粉为什么比女粉还多目前粉丝量是多少
python爬虫实战(五) 爬取微博明星粉丝基本信息+可视化

随便看看