Skip to content

Wzh20040721/Crawler

Repository files navigation

WeiBoCrawler

WeiBoCrawler

欢迎!如果好用点个 star 🌟 呗!🤗

😉😉😉 本项目打算长期维护,欢迎大家 Pull requests 成为 Contributor 😉😉😉

😘😘😘 如果发现 bug, 可以通过提 Issues 或添加微信: woyaolz 沟通 ! 😘😘😘

😁该项目是什么?

该项目主要用于对微博进行数据采集,包括微博详细页内容、微博评论内容、微博转发量、微博点赞量,微博评论量等信息,方便做学术研究时采集数据。

😋为什么使用本项目?

  • 简单: 快速上手,只需几行代码即可完成数据采集。
  • 高效: 采用异步请求和异步存储的方式,大大提高数据采集效率。
  • 可视化: 利用 streamlit 编写了一个可视化界面,方便用户进行数据采集和数据查询。
  • 数据库: 将 tinydb 改为 SQL 数据库,可以连接自定义数据库。
  • Cookies: 不需要手动输入 cookies,扫码自动获取 cookies。

🥂更新修复

  • 2025.03.02 web前端获取cookie使用线程进行优化,替换掉 PIL.Image 库将二维码展示在网页中。
  • 2025.02.23 添加一个错误报错提示,先获取 cookie 才能生成 config.toml 文件,否则会报错。

🚤快速上手

1. 下载本项目

在指定目录下使用 git 命令克隆本项目下载本项目的 zip 包然后解压

git clone https://github.com/zhouyi207/WeiBoCrawler.git

2. 安装依赖

在项目根目录下使用 pip 命令安装依赖,注意这里的 Python 版本是 3.10 版本。

pip install -r requirements.txt

3. 运行程序

在项目根目录下使用 streamlit 命令运行程序

streamlit run web/main.py

成功运行🥳🥳🥳

🎨 界面展示

1. 列表搜索

列表搜索

2. 详细页搜索

详细搜索

3. 一级评论搜索

一级评论搜索

4. 二级评论搜索

二级评论搜索

5. SQL 数据库查询

SQL 数据库查询

🧑‍🎓项目相关

1. 主体处理

2. UID 和 MID

3. 数据流向

📱联系

⚠️⚠️⚠️ 注意事项

本项目仅用于学术研究,请勿用于商业用途

更新日志

  • 2025.05.10 wzh;

    • 通过 _get_request_params(self) 突破了50页的限制,但与此同时出现了新的问题:
    • 1.每个小时都要尝试50页的请求,导致请求量非常大,可能会被封IP。
    • 2.有时会莫名其妙的出现爬取得到的结果日期与预期不符的情况
  • 2025.05.11 wzh:

    • 出现新思路,期待解决 _get_request_params(self) 带来的问题。
    • 思路如下:
        1. 改变程序的并行结构,在download时,按小时生成并行任务,每小时内的请求为串行请求。
        1. 每小时内的请求不再死板要求50页,而是如果出现连续三次的 链接status为200,但是没有数据,则认为该小时内的请求已经结束。

About

一个科研用途的爬虫库,记录了我在做科研过程中`自己写、使用、改`过的爬虫项目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages