今天就来补齐赞的信息,并开放源代码,以李医生的最后一条微博为例子。
其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'