【开放源代码】集齐转评赞!微博点赞详细信息抓取

月小水长

共 1628字,需浏览 4分钟

 ·

2021-11-11 14:36

    点击上方 月小水长 并 设为星标,第一时间接收干货推送

这是 月小水长 的第 96 篇原创干货

目前公众号平台改变了推送机制,点“赞”、点“在看”、添加过“星标”的同学,都会优先接收到我的文章推送,所以大家读完文章后,记得点一下“在看”和“赞”。

微博的转评赞都是构成微博社交关系网络的重要组成部分,其中转发和评论都在之前的推送中发布过。


2021 微博最新转发爬虫发布
2021 新版微博评论及其子评论爬虫发布

今天就来补齐赞的信息,并开放源代码,以李医生的最后一条微博为例子。


其URL地址为:
https://m.weibo.cn/detail/4467107636950632#attitude
抓取保存的 csv 格式如下:

其中 lid 为微博赞的 id,user_verfied_type 为给该微博点赞的用户的认证类型,-1 就是没用认证,普通用户。其他认证类型的对应关系如下:
    verified_dict = {        -1: '普通用户',        0: '名人',        1: '政府',        2: '',        3: '媒体',        220: ''    }
遗憾的是,测试发现,一条微博暂时只能抓到的赞上限在 3000,按照当前的时间线往前回溯的。
本次抓取是针对 m.weibo.cn 的,其接口是
https://m.weibo.cn/api/attitudes/show
打开
https://m.weibo.cn/detail/4467107636950632#attitude
就能看到,并获取它的登录后的 cookie
初始化时指定id的微博 wid,起始抓取页码 page, cookie 等信息
    def __init__(self, wid, page=1, cookie=None, proxies=None):        self.wid = wid        self.page = page        if cookie:            self.cookie = cookie        self.proxies = proxies        self.initConfig()
self.got_likes = [] self.got_likes_num = 0 self.written_likes_num = 0
if not os.path.exists(self.like_folder): os.mkdir(self.like_folder) self.result_file = os.path.join(self.like_folder, f'{self.wid}.csv')
然后这样就能 run 起来了
if __name__ == '__main__':    WeiboLikeSpider(wid='4467107636950632', cookie='你的 cookie').run()
主要可供修改的配置信息如下:
    # 每个 request 休眠 8 s    slp_sec_per_req = 8    # 每个 request 连接超时 8 s    timeout = 8    # 每翻 5 页保存一次    save_per_n_page = 5    # 结果 csv 文件所在的文件夹    like_folder = 'like'
阅读原文直达源代码地址。
浏览 58
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报