-
Notifications
You must be signed in to change notification settings - Fork 1.2k
项目结构
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