Skip to content

asher-y-ma/WeiboSpider

 
 

Repository files navigation

关于该程序

目的

  • 单机微博爬虫
  • 抓取微博用户信息和分析微博信息扩散
  • 测试微博反爬虫机制

需要的知识

  • 基本的HTTP协议理解
  • 会运用Python,了解Requests
  • 会使用re模块/Beautifulsoup解析网页
  • 使用cx_Oracle存储数据
  • 使用YAML读取配置

目前的成果

  • 微博搜索、微博信息处理、用户信息处理模块具有可复用性
  • 可以持续稳定的采集微博和微博用户相关数据(请求频率为1s/次,阈值正在测试)
  • 微博用户信息和扩散信息已经能够成功采集并可以结合前端进行可视化展示

todo

  • 添加搜索接口,可以对某个指定话题进行搜索
  • 可视化展示
  • 采用布隆过滤器去重网页
  • 测试单机单账号访问阈值
  • 测试单机多账号访问效果
  • 优化代码,让程序运行更加快速和稳定
  • 修复某些时候抓取失败的问题
  • 改成分布式爬虫

配置和使用

  • 安装相关依赖pip install -r requirements.txt,cx_Oracle的安装可能会出问题,windows平台请看这里,linux平台请看这里

  • 安装**phantomjs**并且设置相关环境变量

  • 打开配置文件修改数据库和微博账号相关配置

  • 打开sql文件查看并使用建表语句

  • 入口文件

  • repost_run.py:微博扩散程序

  • search_run.py:微博搜索程序

其它说明

  • sql表中关于weibo_sina_users和weibo_search_data有一些没有sql注释的列,是老项目使用API获取的,目前已无法获取,所以可根据自身需要删除或修改

本项目目前的一些数据可视化展示(使用的d3.js):

某条指定微博进行分析

微博扩散情况

微博扩散

转发该微博的用户性别比例

用户性别比例

转发该微博的时间

转发曲线

转发该微博的地域分析

转发地域

About

微博爬虫,使用requets+bs+oracle搭建的爬虫框架。包括对微博搜索、微博信息和用户资料的抓取、解析、存储和可视化展示

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%