weibo_crawle可以做轻度的微博数据采集。

一、支持爬虫

  • 用户信息抓取

  • 用户微博抓取(全量/指定时间段)

  • 用户社交关系抓取(粉丝/关注)

  • 微博评论抓取

  • 基于关键词和时间段(粒度到小时)的微博抓取

  • 微博转发抓取


二、安装

weibo_crawler-0.1-py3-none-any.whl下载后放置于桌面

Mac电脑执行

cd desktop
pip3 install weibo_crawler-0.1-py3-none-any.whl

Win电脑执行

cd Desktop
pip install weibo_crawler-0.1-py3-none-any.whl

文末有weibo_crawler-0.1-py3-none-any.whl获取方式


三、快速上手

weibo_crawler库的使用方法

from weibo_crawler import Profile, Follow, Weibos, Comments

3.1 个人简介

获取某用户个人简介

from weibo_crawler import Profile
import os

#如果程序失败,需要传入你的微博cookies
cookies = ''

# csv文件路径
csvfile = os.getcwd()+'/简介.csv'
prof = Profile(csvfile=csvfile, 
                delay=1, 
                cookies=cookies)

prof.get_profile(userid='1087770692') #陈坤微博的id

Run

{'nickname': '陈坤', 
'gender': '男', 
'province': '重庆', 
'brief_introduction': '莫失己道,莫扰他心。', 
'birthday': '0001-00-00', 
'vip_level': '7级送Ta会员', 
'authentication': '演员,代表作《龙门飞甲》《画皮》等,行走的力量发起者', 'labels': '演员'}


3.2 获取粉丝/关注列表

哪些微博用户关注了陈坤

from weibo_crawler import Follow
import os

#如果程序失败,需要传入你的微博cookies
cookies = ''

# csv文件路径
csvfile = os.getcwd()+'/fans.csv'
follow = Follow(csvfile=csvfile, 
                delay=1, 
                cookies=cookies)

#哪些微博用户关注了陈坤
follow.who_follow(userid='1087770692')

Run

{'uid1': '1879804794', 'uid2': '1087770692', 'crawl_time': '2021-04-30 18:24:40', 'relationship': '1879804794-follow-1087770692'}
{'uid1': '6371190854', 'uid2': '1087770692', 'crawl_time': '2021-04-30 18:24:40', 'relationship': '6371190854-follow-1087770692'}
{'uid1': '7602005193', 'uid2': '1087770692', 'crawl_time': '2021-04-30 18:24:40', 'relationship': '7602005193-follow-1087770692'}
{'uid1': '3227075870', 'uid2': '1087770692', 'crawl_time': '2021-04-30 18:24:40', 'relationship': '3227075870-follow-1087770692'}

陈坤关注了哪些微博用账号

#如果程序失败,需要传入你的微博cookies
cookies = ''

# csv文件路径
csvfile = os.getcwd()+'/chenkun_follow_who.csv'
follow = Follow(csvfile=csvfile, 
                delay=1, 
                cookies=cookies)

#哪些微博用户关注了陈坤
follow.follow_who(userid='1087770692')

Run

{'uid1': '1087770692', 'uid2': '7451895315', 'crawl_time': '2021-04-30 18:25:30', 'relationship': '7451895315-follow-1087770692'}
{'uid1': '1087770692', 'uid2': '1715351501', 'crawl_time': '2021-04-30 18:25:30', 'relationship': '1715351501-follow-1087770692'}
{'uid1': '1087770692', 'uid2': '1278932711', 'crawl_time': '2021-04-30 18:25:30', 'relationship': '1278932711-follow-1087770692'}
{'uid1': '1087770692', 'uid2': '1299491507', 'crawl_time': '2021-04-30 18:25:30', 'relationship': '1299491507-follow-1087770692'}


3.3 某微博下的评论

获取某条微博weibo_id里的评论信息

from weibo_crawler import Comments
import os

#如果程序失败,需要传入你的微博cookies
cookies = ''

# csv文件路径
csvfile = os.getcwd()+'/comments.csv'
coms = Comments(csvfile=csvfile, 
                delay=1, 
                cookies=cookies)

# weibo_id='IDl56i8av')
coms.comments(weibo_id='IDl56i8av')

Run

{'weibo_id': 'IDl56i8av', 'comment_uid': '2249872265', 'like_num': '82', 'create_time': '2020-04-14 23:44:51', 'content': '明天,你好!雷神山关门大吉', 'craw_time': '2021-04-30 18:33:13'}
{'weibo_id': 'IDl56i8av', 'comment_uid': '5458366215', 'like_num': '49', 'create_time': '2020-04-14 23:42:37', 'content': '晚安????疫情快点好起来吧', 'craw_time': '2021-04-30 18:33:13'}
{'weibo_id': 'IDl56i8av', 'comment_uid': '6577817093', 'like_num': '29', 'create_time': '2020-04-14 23:42:32', 'content': '跪求大家救救我们一家!', 'craw_time': '2021-04-30 18:33:13'}



获取多微博

获取某用户的所有微博、获取某话题指定日期的的各种微博数据

  • get_weibos_by_userid(userid='1087770692')

  • get_weibos_by_userid_and_date(userid='1087770692', startdate='2020-01-01', enddate='2020-12-31')

  • get_weibos_by_topic_and_date(topic='python', startdate='2020-01-01', enddate='2020-12-31')


3.4.1 get_weibos_by_userid

获取某指定用户的所有微博数据

from weibo_crawler.weibos import Weibos
import os

#如果程序失败,需要传入你的微博cookies
cookies = ''

# csv文件路径
csvfile = os.getcwd()+'/1087770692.csv'
WB = Weibos(csvfile=csvfile, 
            delay=1, 
            cookies=cookies)

# userid='1087770692'
WB.get_weibos_by_userid(userid='1087770692')


Run

{'uid': '1087770692', 'weibo_id': 'Kdiasmwfx', 'product': '', 'ratescore': 0, 'content': 'A组转B组,之后转回A。', 'like_num': '10820', 'repost_num': '8115', 'comment_num': '8665', 'create_time': '今天 13:57', 'crawl_time': '2021-04-30 18:37:53', 'device': '', 'img': None, 'raw_img': '', 'location': '', 'video_link': None, 'orinin_link': None}

{'uid': '1087770692', 'weibo_id': 'KcZQbvplr', 'product': '', 'ratescore': 0, 'content': '转发了\xa0山下学堂\xa0的微博:#表演与行为艺术##山下学堂# 2020新人班“美术馆计划”的两日,学员们来到@红砖美术馆 ,共同参观“詹姆斯·李·拜尔斯:#完美时刻# ”展览,并与红砖美术馆携手再现这位传奇艺术家的三件参与式行为表演作品。红砖美术馆高级策展人 Jonas Stampe 为每个作品指导。“缓慢、放松,你们这样很美。”他鼓励...全文\xa0[组图共18张]原图\xa0赞[218]\xa0原文转发[7107]\xa0原文评论[44]转发理由:转发微博', 'like_num': '8266', 'repost_num': '7082', 'comment_num': '7549', 'create_time': '04月28日 15:18', 'crawl_time': '2021-04-30 18:37:53', 'device': '', 'img': 'https://h5.sinaimg.cn/upload/2016/05/26/319/5337.gif', 'raw_img': 'https://weibo.cn/mblog/oripic?id=KcZQbvplr&u=5337', 'location': '', 'video_link': None, 'orinin_link': 'https://weibo.cn/comment/KcZpdwdlK?rl=1#cmtfrm'}

{'uid': '1087770692', 'weibo_id': 'KcQkm0cFm', 'product': '', 'ratescore': 0, 'content': '突然发现,一累了就找吃的视频看。完全下意识的,已经好一段时间了。', 'like_num': '21261', 'repost_num': '7766', 'comment_num': '11419', 'create_time': '04月27日 15:05', 'crawl_time': '2021-04-30 18:37:53', 'device': '', 'img': '//h5.sinaimg.cn/m/emoticon/icon/default/d_wabishi-816c4e8890.png', 'raw_img': 'https://weibo.cn/mblog/oripic?id=KcQkm0cFm&u=d_wabishi-816c4e8890', 'location': '', 'video_link': None, 'orinin_link': None}



3.4.2 get_weibos_by_userid_and_date

获取某指定用户指定日期范围内的微博数据

from weibo_crawler.weibos import Weibos
import os

#如果程序失败,需要传入你的微博cookies
cookies = ''

# csv文件路径
csvfile = os.getcwd()+'/1087770692date.csv'

WB = Weibos(csvfile=csvfile, 
            delay=1, 
            cookies=cookies)

# 某用户指定日期的微博数据
WB.get_weibos_by_userid_and_date(userid='1087770692', 
                                 startdate='2020-01-01', 
                                 enddate='2020-12-31')

Run

{'uid': '1087770692', 'weibo_id': 'Iquq5giZd', 'product': '', 'ratescore': 0, 'content': '分享图片 \xa0[组图共2张]原图', 'like_num': '37582', 'repost_num': '7136', 'comment_num': '7772', 'create_time': '2020-01-21 11:34:45\xa0来自绿洲APP', 'crawl_time': '2021-04-30 18:40:43', 'device': '绿洲APP', 'img': 'http://wx4.sinaimg.cn/wap180/40d61044gy1gb41ple6h0j20yi1azb29.jpg', 'raw_img': 'https://weibo.cn/mblog/oripic?id=Iquq5giZd&u=40d61044gy1gb41ple6h0j20yi1azb29', 'location': '', 'video_link': None, 'orinin_link': None}

{'uid': '1087770692', 'weibo_id': 'IqdeJlfr9', 'product': '', 'ratescore': 0, 'content': '过节几天要练练钢笔字了', 'like_num': '25958', 'repost_num': '5462', 'comment_num': '6298', 'create_time': '2020-01-19 15:50:05', 'crawl_time': '2021-04-30 18:40:43', 'device': '', 'img': None, 'raw_img': '', 'location': '', 'video_link': None, 'orinin_link': None}

{'uid': '1087770692', 'weibo_id': 'IphT4lwlZ', 'product': '', 'ratescore': 0, 'content': '生活是自己的不仅仅存在于别人的谈论中过好自己的随喜别人的', 'like_num': '44829', 'repost_num': '7008', 'comment_num': '6711', 'create_time': '2020-01-13 13:50:09', 'crawl_time': '2021-04-30 18:40:43', 'device': '', 'img': None, 'raw_img': '', 'location': '', 'video_link': None, 'orinin_link': None}



3.4.3 get_weibos_by_topic_and_date

获取指定话题、指定日期范围的微博

from weibo_crawler.weibos import Weibos
import os

#如果程序失败,需要传入你的微博cookies
cookies = ''

# csv文件路径
csvfile = os.getcwd()+'/1087770692date.csv'

WB = Weibos(csvfile=csvfile, 
            delay=1, 
            cookies=cookies)

# 某指定话题日期范围内的微博数据
WB.get_weibos_by_topic_and_date(topic='python', 
                                startdate='2020-01-01', 
                                enddate='2020-12-31')

Run

{'uid': '6438471311', 'weibo_id': 'InwK8nQZT', 'product': '', 'ratescore': 0, 'content': '虾尾拌面要去壳:明后两天本学畜将渡劫批判性思维python品牌传播轮番轰炸希望我可以苟下来', 'like_num': '0', 'repost_num': '0', 'comment_num': '0', 'create_time': '2020-01-01 23:58:44\xa0来自逢考必过的人', 'crawl_time': '2021-04-30 18:43:25', 'device': '逢考必过的人', 'img': 'https://h5.sinaimg.cn/upload/2016/05/26/319/5338.gif', 'raw_img': 'https://weibo.cn/mblog/oripic?id=InwK8nQZT&u=5338', 'location': '', 'video_link': None, 'orinin_link': None}

{'uid': '6023446153', 'weibo_id': 'InwJreRSg', 'product': '', 'ratescore': 0, 'content': '小小书染:2020年第一天就献给了Python真好!原图', 'like_num': '2', 'repost_num': '0', 'comment_num': '2', 'create_time': '2020-01-01 23:57:01\xa0来自nova4自拍极点全面屏', 'crawl_time': '2021-04-30 18:43:25', 'device': 'nova4自拍极点全面屏', 'img': '//h5.sinaimg.cn/m/emoticon/icon/default/d_hehe-0be7e6251f.png', 'raw_img': 'https://weibo.cn/mblog/oripic?id=InwJreRSg&u=d_hehe-0be7e6251f', 'location': '', 'video_link': None, 'orinin_link': None}

{'uid': '5815948537', 'weibo_id': 'InwHm8QV3', 'product': '', 'ratescore': 0, 'content': '坐中偶书:明天开始学Python原图', 'like_num': '0', 'repost_num': '0', 'comment_num': '0', 'create_time': '2020-01-01 23:51:53\xa0来自nova4自拍极点全面屏', 'crawl_time': '2021-04-30 18:43:25', 'device': 'nova4自拍极点全面屏', 'img': 'https://h5.sinaimg.cn/upload/2016/05/26/319/donate_btn_s.png', 'raw_img': 'https://weibo.cn/mblog/oripic?id=InwHm8QV3&u=donate_btn_s', 'location': '', 'video_link': None, 'orinin_link': None}



四、cookies

Weibo_crawler内置了一个cookies值,一般情况下cookies设置为空字符串即可;

如果程序跑不出来结果或报错,这时需要传入自己的微博cookies。

点击手机weibo  https://weibo.cn  , 登入账号密码后

  1. 打开浏览器开发者工具Network面板

  2. 刷新页面,找到含有weibo的任意网址,获取cookies



获取whl文件

weibo_crawler-0.1-py3-none-any.whl获取方式

转发 

Python数据挖掘与结构模型五一工作坊

至朋友圈集赞满30+

截图可加我的微信372335839, 也可留下公众号后台回复截图和邮箱,随后我会将whl文件分享给你。

精选文章系列视频|Python网络爬虫与文本数据分析
B站视频 | Python自动化办公

SciencePlots | 科研样式绘图库
使用streamlit上线中文文本分析网站

bsite库 | 采集B站视频信息、评论数据

texthero包 | 支持dataframe的文本分析包
爬虫实战 | 采集&可视化知乎问题的回答
reticulate包 | 在Rmarkdown中调用Python代码
plydata库 | 数据操作管道操作符>>
plotnine: Python版的ggplot2作图库
读完本文你就了解什么是文本分析

文本分析在经管领域中的应用概述  
综述:文本分析在市场营销研究中的应用

plotnine: Python版的ggplot2作图库
Wow~70G上市公司定期报告数据集

漂亮~pandas可以无缝衔接Bokeh  
YelpDaset: 酒店管理类数据集10+G  


“分享”和“在看”是更好的支持
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐