【技术分享】用python开发的微博采集软件,附代码实现细节
2026/6/6 20:16:00 网站建设 项目流程

我自己独立开发的爬微博聚合软件,发布v2.0版:

新增用户信息采集,即:批量输入用户主页,采集用户信息。

采集字段共29个,含:

用户主页链接 uid 昵称 性别 IP属地 所在地 认证类型 认证信息 一句话描述 简介 粉丝数 关注数 微博数 总转发数 总评论数 总点赞数 转评赞总数 阳光信用 芝麻信用 会员等级 是否实名 个性域名 微号 用户标签 头部用户 明星标识 头像URL 生日 注册时间

这个软件是全程用python语言开发。

主要技术分工:

序号模块用途
1tkinter构建gui图形用户界面
2requests负责发送网络爬虫请求
3json解析服务器返回的响应数据
4pandas处理并保存为csv数据结果
5logging记录运行过程中的日志

部分代码实现:
发送请求并解析数据:

# 发送请求r=requests.get(url,headers=h1,params=params)# 解析数据json_data=r.json()

解析响应数据,以“评论内容”字段为例:

fordatainjson_data['data']:# 评论内容text=data['text_raw']text_list.append(text)

保存结果数据到csv文件:

# 保存数据df=pd.DataFrame({'微博链接':weibo_url,'微博id':weibo_id,'页码':page,'评论者昵称':screen_name_list,'评论者粉丝数':followers_count_list,'评论者关注数':friends_count_list,'评论者主页链接':user_home_url_list,'评论者性别':gender_list,'评论者签名':desc_list,'评论时间':create_time_list,'点赞数':like_counts_list,'评论内容IP属地':source_list,'评论级别':comment_level_list,'评论内容':text_list,})# 保存csv文件df.to_csv(self.result_file,mode='a+',index=False,header=header,encoding='utf_8_sig')self.tk_show('结果保存成功:{}'.format(self.result_file))

底部版权声明:

# 版权信息copyright=tk.Label(root,text='@马哥python说 All rights reserved.',font=('仿宋',10),fg='grey')copyright.place(x=290,y=625)

日志记录模块:

defget_logger(self):self.logger=logging.getLogger(__name__)# 日志格式formatter='[%(asctime)s-%(filename)s][%(funcName)s-%(lineno)d]--%(message)s'# 日志级别self.logger.setLevel(logging.DEBUG)# 控制台日志sh=logging.StreamHandler()log_formatter=logging.Formatter(formatter,datefmt='%Y-%m-%d %H:%M:%S')# info日志文件名info_file_name=time.strftime("%Y-%m-%d")+'.log'# 将其保存到特定目录case_dir=r'./logs/'info_handler=TimedRotatingFileHandler(filename=case_dir+info_file_name,when='MIDNIGHT',interval=1,backupCount=7,encoding='utf-8')

以上技术实现部分,仅做交流分享,不擅长代码的同学或用户,忽略即可。
软件中也友好的附有cookie一键配置小工具:

方便文科生小白用户也能快速启用。


详细的软件演示视频:

【工具演示】微博聚合采集软件


本软件对应的仓库地址:

https://github.com/mashukui/weibo_one_spider


以上就是今天的分享,希望对有帮助的小伙伴提升效率,更多精力专注于数据研究本身。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询