当前位置: 首页 > news >正文

【爬虫工具】2025微博采集软件,根据搜索关键词批量爬帖子,突破50页限制!

文章目录

  • 一、背景分析
    • 1.1 开发背景
    • 1.2 软件界面
    • 1.3 结果展示
    • 1.4 软件说明
  • 二、主要技术
    • 2.1 模块分工
    • 2.2 部分代码
  • 三、使用介绍
    • 3.0 填写cookie
    • 3.1 软件登录
    • 3.2 采集wb帖子
  • 四、演示视频
  • 五、软件首发

本工具仅限学术交流使用,严格遵循相关法律法规,符合平台内容的合法及合规性,禁止用于任何商业用途!

一、背景分析

1.1 开发背景

微博是国内非常流行的社交媒体平台,内容主要以文字和图片为主,在实时性和KOL关注热度方面尤为突出。广大网友在平台上大量输出自己的观点、看法,组成了一个活跃度极高的社区群体。同时,我本人也发现,每次热点事件爆发的时候,热搜也是所有媒体平台里最先曝光的平台(其他平台或多或少都有一些延迟)

基于此,我用python开发了一个爬虫采集软件,叫【爬微博搜索软件】,下面详细介绍。

1.2 软件界面

软件界面,如下:

软件运行中

1.3 结果展示

爬取结果:(截图中展示的就是全部字段了)

爬取结果

1.4 软件说明

几点重要说明,请详读了解:

1. Windows用户可直接双击打开使用,无需Python运行环境,非常方便!
2. 软件通过爬虫程序爬取,经本人专门测试,运行持久,稳定性较高!
3. 先在cookie.txt中填入自己的cookie值,方便重复使用(内附cookie获取方法)
4. 支持多个关键词串行爬取
5. 支持按时间段范围采集贴子
6. 爬取过程中,每爬一页,存一次csv。并非爬完最后一次性保存!防止因异常中断导致丢失前面的数据(每条间隔1~2s)
7. 爬取过程中,有log文件详细记录运行过程,方便回溯 
8. 结果csv含11个字段,有:关键词,页码,围脖id,围脖链接,用户昵称,用户主页链接,发布时间,转发数,评论数,点赞数,围脖内容。 

以上是现有功能,软件版本持续更新中。

二、主要技术

2.1 模块分工

软件全部模块采用python语言开发,主要分工如下:

tkinter:GUI软件界面
requests:爬虫请求
BeautifulSoup:解析响应数据
pandas:保存csv结果、数据清洗
logging:日志记录

出于版权考虑,暂不公开源码,仅向用户提供软件使用。

2.2 部分代码

部分代码实现:

发送请求并解析数据:

# 发送请求
r = requests.get(url, headers=h1, params=params)
# 解析数据
soup = BS(r.text, 'html.parser')

解析链接:

# weibo链接
wb_url = 'https:' + item.find('div', {'class': 'from'}).find('a').get('href')
wb_url_list.append(wb_url)

保存结果数据到csv文件:

# 保存数据
df = pd.DataFrame({'关键词': kw,'页码': page,'围脖id': id_list,'围脖链接': wb_url_list,'用户昵称': name_list,'用户主页链接': user_link_list,'发布时间': create_time_list,'转发数': repost_count_list,'评论数': comment_count_list,'点赞数': like_count_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)

日志模块:

def get_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')

三、使用介绍

3.0 填写cookie

开始采集前,先把自己的cookie值填入cookie.txt文件。

pc端cookie获取说明:

cookie获取方法

然后把复制的cookie值填写到当前文件夹的cookie.txt文件中。

3.1 软件登录

用户登录界面:需要登录。

3.2 采集wb帖子

根据自己的实际情况,在软件界面填写采集条件,点击开始按钮:

软件界面

完成采集后,在当前文件夹生成对应的csv文件,文件名以时间戳命名,方便查找。

四、演示视频

软件使用过程演示:

live.csdn.net/v/473850

五、软件首发

“爬微博搜索软件"首发公号"老男孩的平凡之路”,欢迎技术交流、深入探讨。

http://www.xdnf.cn/news/97561.html

相关文章:

  • 2025职业本科网络安全课程体系设计:如何培养行业急需的实战型人才?
  • VulnHub-DarkHole_2靶机渗透教程
  • 高并发下单库存扣减异常?飞算 JavaAI 自动化生成分布式事务解决方案
  • iOS18 MSSBrowse闪退
  • 【PCB工艺】推挽电路及交越失真
  • 关于大数据的基础知识(四)——大数据的意义与趋势
  • 计算机网络 第二章:应用层(四)
  • redis组件在PAAS平台运维总结
  • Jmeter中同步定时器使用注意点
  • RPC通信原理实战
  • 香港服务器租用需要哪些性能要求
  • 全球密封淬火炉市场:技术迭代与区域竞争格局深度剖析
  • 配置Spark历史服务器,轻松查看任务记录
  • Ubuntu18.04 升级最新版本Cmake
  • 氢气传感器在燃料电池中的应用解析
  • Spark与Hadoop之间的联系与区别
  • 使用Python将YOLO的XML标注文件转换为TXT文件格式
  • 面向高可靠场景的RISC-V低功耗MCU硬件安全设计
  • 服务器如何修复SSL证书错误?
  • 重塑智慧出行新生态,德赛西威全新战略愿景发布
  • 使用 VSCode 编写 Markdown 文件
  • onlyoffice历史版本功能实现,版本恢复功能,编辑器功能实现 springboot+vue2
  • Flutter 环境搭建
  • Milvus(4):创建 Collections
  • Axure按钮设计分享:打造高效交互体验的六大按钮类型
  • 网络设备配置实战:交换机与路由器的入门到精通
  • Pytest教程:为什么Pytest要用插件模式?
  • Docker核心技术精讲:从入门到企业级实战
  • 0802api设计和实战-网络ajax请求1-react-仿低代码平台项目
  • SQL注入漏洞中会使用到的函数