Skip to content

项目结构

thekingofcity edited this page Mar 2, 2018 · 3 revisions

如果需要进行二次开发,可以根据下面的结构找到相关代码进行修改。每个功能的入口文件都在 tasks这个目录下。

    config/
        __init__.py
        conf.py             # 获取配置文件的信息
        spider.yaml         # 配置文件信息,包括Mysql配置、Redis配置和一些抓取参数设定
    db/
        __init__.py
        basic_db.py         # 数据库元操作
        keywords_wbdata.py  # 关键词_微博数据关联表
        login_info.py       # 微博账号管理操作
        models.py           # sqlalchemy中用到的models
        redis_db.py         # redis相关操作
        search_words.py     # 搜索话题相关操作
        seed_ids.py         # 种子用户id管理操作
        tables.py           # 数据库对应的表
    decorators/
        __init__.py
        decorator.py        # 项目中用到的装饰器,比如超时处理、解析异常处理
    excepetions/            # 异常类
    first_task_execution/   # 执行目录内文件添加任务
        login_first.py      # 由于celery的定时器会有一定时间的间隔,所以**第一次需要手动登**,并且需要保证数据表`login_info`中已经插入了可用微博登陆账号
        search_first.py     # 如果想快速启动微博搜索任务,可以在定时任务运行之前运行该文件,前提是数据表`keywords`中已有数据
        comment_first.py    # 如果想快速启动评论抓取任务,可以在定时任务执行之前运行该文件,前提是数据表`weibo_data`中已有数据
        home_first.py       # 如果想快速启动用户主页微博抓取任务,可以在定时任务执行之前运行该文件,前提是数据表`seed_ids`中已有数据
        repost_first.py     # 如果想快速启动微博转发抓取任务,可以在定时任务执行之前运行该文件,前提是数据表`weibo_data`中已有数据
        user_first.py       # 如果想快速启动用户信息抓取任务,可以在定时任务执行之前运行该文件,前提是数据表`seed_ids`中已有数据
        praise_first.py     # 如果想快速启动点赞抓取任务,可以在定时任务执行之前运行该文件,前提是数据表`weibo_data`中已有数据
    logger/
        __init__.py
        log.py              # 日志操作
    logs/                   # 该目录用于存放日志文件
        celery.log          # celery相关log(最为详细)
        weibo.log           # 程序log
    page_get/
        __init__.py
        basic.py            # 基本的数据抓取操作
        status.py           # 微博详情页信息解析模块
        user.py             # 微博用户抓取
    page_parse/
        user/
            __init__.py
            enterprise.py   # 解析服务号
            person.py       # 解析个人用户
            public.py       # 公共模版解析,比如左边部分和上边部分代码,可通用
        basic.py            # 微博返回内容解析,作用看是否为正常响应
        comment.py          # 评论解析
        dialogue.py         # 对话解析
        home.py             # 用户主页微博数据解析
        praise.py           # 点赞解析
        repost.py           # 微博转发信息解析表
        search.py           # 微博搜索结果解析
        status.py           # 微博具体信息
    tasks/
        __init__.py
        comment.py          # 评论抓取任务
        dialogue.py         # 对话抓取任务
        downloader.py
        home.py             # 用户主页微博抓取任务
        login.py            # 模拟登陆相关任务
        praise.py           # 点赞抓取任务
        repost.py           # 转发信息抓取相关任务
        search.py           # 搜索相关任务
        user.py             # 用户抓取相关任务
        workers.py          # celery worker配置

    tests/                  # 一些解析模版,主要在开发解析模块的时候使用
    utils/                  # 工具类
        __init__.py
        code_verification.py# 验证码识别相关
        email_warning.py    # 邮件发送被封等情况
        filters.py          
        util_cls.py         # 工具类
    wblogin/
        __init__.py
        login.py          # 微博模拟登陆具体实现
    env.sh                # 创建虚拟环境
    create_all.py         # 创建数据库相关表的语句
    headers.py            # 请求头,主要是UA
    test_wbspider.py      # 没什么用的单元测试
    requirements.txt      # 项目相关依赖

    LICENSE
    .gitignore
    .gitattributes