|
|
# **基本信息**
|
|
|
```buildoutcfg
|
|
|
baidu_planner 百度规划师
|
|
|
baidu_index 百度指数
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
## 数据名称(中文)
|
|
|
<!-- 该项数据的中文标准名称,后续沟通交流使用的规范名称,如:工商公示股东信息、失信被执行人、一般纳税人等-->
|
|
|
###
|
|
|
```buildoutcfg
|
|
|
搜索词优化
|
|
|
```
|
|
|
|
|
|
## 数据英文名称
|
|
|
<!--英文名称,后续流程中所有涉及到英文名称均以此为准,如:partner、shixin、general_taxpayer等-->
|
|
|
```buildoutcfg
|
|
|
baidu_planner
|
|
|
baidu_index
|
|
|
```
|
|
|
|
|
|
## 采集网站(采集入口)
|
|
|
<!--采集的入口地址,不能只是一个网站域名,具体到该网站的数据入口-->
|
|
|
```buildoutcfg
|
|
|
百度规划师文档页: https://dev2.baidu.com/content?sceneType=0&pageId=100222&nodeId=null&subhead=
|
|
|
百度规划师python API调用页面: https://dev2.baidu.com/debugtool?url=/json/sms/service/KRService/getEstimatedData
|
|
|
百度规划师流量查询页面: https://fengchao.baidu.com/fc/manage/new/user/29416528/kr
|
|
|
|
|
|
百度指数入口页: https://index.baidu.com/v2/index.html#/
|
|
|
具体调用的接口: https://m.baidu.com/sugrec?prod=open_index&wd=章
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
## 采集频率及采集策略
|
|
|
<!--说明该项数据更新频率,存量数据的更新频率及策略、新增数据的采集频率及策略-->
|
|
|
|
|
|
### 存量更新策略
|
|
|
<!--无需更新?每天全量更新?逐条轮询更新?多久更新完一轮?或其他-->
|
|
|
```buildoutcfg
|
|
|
百度规划师: 目前启动5个进程,每次请求携带500个关键词,目前24小时可以将se_word中的关键词3400w左右数据全部获取一遍
|
|
|
百度指数: 目前启动了100个进程,速度非常慢,一天预计只能跑完30w条关键词,有待加资源,加进程
|
|
|
```
|
|
|
|
|
|
|
|
|
### 增量采集策略
|
|
|
<!--新增数据怎么来?无需单独采集新增数据?-->
|
|
|
```buildoutcfg
|
|
|
暂无
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
# **爬虫名称以及平台**
|
|
|
```buildoutcfg
|
|
|
spider_name 平台名称
|
|
|
baidu_planner 百度规划师
|
|
|
baidu_index 百度指数
|
|
|
```
|
|
|
|
|
|
|
|
|
## 责任人
|
|
|
```buildoutcfg
|
|
|
袁波
|
|
|
```
|
|
|
|
|
|
<!--spider_name-->
|
|
|
|
|
|
## 代码地址
|
|
|
```buildoutcfg
|
|
|
项目地址:http://192.168.109.110/granite/project-gravel/-/tree/develop_adsearch_20210517/app_search_ads
|
|
|
|
|
|
百度指数是通过udms方式实现的:
|
|
|
http://192.168.109.110/granite/project-gravel/-/tree/develop_adsearch_20210517/app_search_ads/data_pump
|
|
|
http://192.168.109.110/granite/project-gravel/-/tree/develop_adsearch_20210517/app_search_ads/udms
|
|
|
```
|
|
|
|
|
|
## 队列名称及队列地址
|
|
|
<!--redis host port db key 优先级说明-->
|
|
|
-
|
|
|
* redis host: redis://:utn@0818@bdp-mq-001.redis.rds.aliyuncs.com:6379/7
|
|
|
* redis port: 6379
|
|
|
* redis db: 7
|
|
|
* redis key:
|
|
|
* baidu_planner
|
|
|
* baidu_index
|
|
|
|
|
|
### 优先级队列说明
|
|
|
```buildoutcfg
|
|
|
baidu_planner
|
|
|
baidu_index
|
|
|
说明:无特别处理,都是默认优先级10
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 任务来源
|
|
|
<!--说明爬虫任务的输入。如:来自某个数据库表等。如果来自某个数据库表则应该简要说明该表内的数据是如何维护的。-->
|
|
|
```buildoutcfg
|
|
|
db_host: bdp-rds-103.mysql.rds.aliyuncs.com
|
|
|
db_name: aicha_ad
|
|
|
db_user: aicha
|
|
|
db_password: aicha@0611
|
|
|
se_word数据表中任务作为初始任务
|
|
|
```
|
|
|
|
|
|
## 任务输入参数(样例)
|
|
|
```json
|
|
|
{
|
|
|
"id": 306,
|
|
|
"word": "000018股票走势"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
|
|
|
### 任务样例
|
|
|
<!--注意是爬虫拿到的完整任务,而不仅仅是task_params-->
|
|
|
```buildoutcfg
|
|
|
百度规划师返回结果:
|
|
|
{
|
|
|
"header": {
|
|
|
"desc": "success",
|
|
|
"failures": [],
|
|
|
"oprs": 1,
|
|
|
"succ": 1,
|
|
|
"oprtime": 0,
|
|
|
"quota": 1,
|
|
|
"rquota": 200000000,
|
|
|
"status": 0
|
|
|
},
|
|
|
"body": {
|
|
|
"data": [{
|
|
|
"all": [{
|
|
|
"bid": 5.22, # 指导价
|
|
|
"show": 534, # 预估月均展现
|
|
|
"click": 83.0, # 预估月均点击
|
|
|
"charge": 0.0, # ?
|
|
|
"pv": 15842, # 月均搜索量
|
|
|
"competition": 1 # 竞争激烈程度
|
|
|
}, {
|
|
|
"bid": 1.2,
|
|
|
"show": 6607,
|
|
|
"click": 1034.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 190317,
|
|
|
"competition": 1
|
|
|
}, {
|
|
|
"bid": 6.35,
|
|
|
"show": 54162,
|
|
|
"click": 7832.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 1129693,
|
|
|
"competition": 1
|
|
|
}],
|
|
|
"pc": [{
|
|
|
"bid": 5.22, # 计算机指导价
|
|
|
"show": 260,
|
|
|
"click": 35.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 6354, # 月均计算机搜索量
|
|
|
"competition": 2
|
|
|
}, {
|
|
|
"bid": 0.77,
|
|
|
"show": 3368,
|
|
|
"click": 455.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 34995,
|
|
|
"competition": 2
|
|
|
}, {
|
|
|
"bid": 6.35,
|
|
|
"show": 42538,
|
|
|
"click": 5750.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 286344,
|
|
|
"competition": 2
|
|
|
}],
|
|
|
"mobile": [{
|
|
|
"bid": 2.5, # 移动指导价
|
|
|
"show": 274,
|
|
|
"click": 48.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 9488, # 月均移动搜索量
|
|
|
"competition": 1 #
|
|
|
}, {
|
|
|
"bid": 1.2,
|
|
|
"show": 3239,
|
|
|
"click": 579.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 155322,
|
|
|
"competition": 1
|
|
|
}, {
|
|
|
"bid": 4.35,
|
|
|
"show": 11624,
|
|
|
"click": 2081.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 843349,
|
|
|
"competition": 1
|
|
|
}],
|
|
|
"words": ["水箱", "奶茶", "二手车"],
|
|
|
"showReasons": [
|
|
|
["高频热搜词"], # 特色
|
|
|
[],
|
|
|
["黑马词"]
|
|
|
]
|
|
|
}]
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
百度指数返回结果:
|
|
|
{
|
|
|
"word": "000540",
|
|
|
"suggest": "09对战平台", # 推荐词
|
|
|
"not_found": false # false表示此关键词找到了推荐词
|
|
|
}
|
|
|
```
|
|
|
|
|
|
### 任务参数说明
|
|
|
<!--特有参数说明,通用参数比如spider_name,task_params,task_src,task_result等不需说明-->
|
|
|
```json
|
|
|
见上面样例说明
|
|
|
```
|
|
|
|
|
|
## data_type说明
|
|
|
<!--可能产生的data_type说明-->
|
|
|
```buildoutcfg
|
|
|
```
|
|
|
|
|
|
## 爬虫结果的超级数据
|
|
|
<!--包含所有字段的json数据,每个value都要有样例值-->
|
|
|
```buildoutcfg
|
|
|
{
|
|
|
"data": [{
|
|
|
"find_time": "2021-06-21 10:38:57",
|
|
|
"index": 1,
|
|
|
"match_word": "周口师范学院,专业,院校",
|
|
|
"land_url": "https://kaoyan.gaodun.com/2022ky/m/?x_field_1=yMz2eyQ7zuueZFnmue&userid=3054421673&planid=3351335152&unitid=921677877&kwdid=39873900866&adid=5571563434&data_industry=ocpc_ms_convert&fromPlatform=qihoo360&qhclickid=014dbd21e67eacd2",
|
|
|
"title": "周口师范学院考研_报名条件及考试方式_点击进入",
|
|
|
"ad_content": "周口师范学院考研 高顿考研全新学习模式,定向辅导班,专业课名校师资授课,全程.精准考点答疑,实力的名校师资辅导,实时的院校招录信息,考研上名校高顿更专业!"
|
|
|
}],
|
|
|
"http_code": 200,
|
|
|
"error_msg": "",
|
|
|
"task_result": 1000,
|
|
|
"data_type": "detail",
|
|
|
"spider_start_time": "2021-06-21 10:39:24.062",
|
|
|
"spider_end_time": "2021-06-21 10:39:34.150",
|
|
|
"task_params": {
|
|
|
"se_platform": "360_h5",
|
|
|
"word": "周口师范学院专业排名",
|
|
|
"area": "全国",
|
|
|
"outbound": "ad_all_platform",
|
|
|
"routed_count": 1,
|
|
|
"submitter": "taskhub",
|
|
|
"group_retry_times": 0,
|
|
|
"submit_time": "2021-06-19 16:21:02",
|
|
|
"token_scope": "ad",
|
|
|
"retry_limits": 2,
|
|
|
"rt": false,
|
|
|
"priority": null,
|
|
|
"task_uuid": "5110a910-0e42-4df5-957a-cf8c2a3cf79e",
|
|
|
"retry_times": 0
|
|
|
},
|
|
|
"metadata": {},
|
|
|
"spider_name": "ad_360_h5",
|
|
|
"spider_ip": "10.8.6.57"
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
## 实际爬虫结果的数据结构
|
|
|
<!--可能与超级数据一致,可能不同的data_type的爬虫结果结构不同,超级数据是把所有data_type的结果组合在一起-->
|
|
|
```buildoutcfg
|
|
|
{
|
|
|
"header": {
|
|
|
"desc": "success",
|
|
|
"failures": [],
|
|
|
"oprs": 1,
|
|
|
"succ": 1,
|
|
|
"oprtime": 0,
|
|
|
"quota": 1,
|
|
|
"rquota": 200000000,
|
|
|
"status": 0
|
|
|
},
|
|
|
"body": {
|
|
|
"data": [{
|
|
|
"all": [{
|
|
|
"bid": 5.22, # 指导价
|
|
|
"show": 534, # 预估月均展现
|
|
|
"click": 83.0, # 预估月均点击
|
|
|
"charge": 0.0, # ?
|
|
|
"pv": 15842, # 月均搜索量
|
|
|
"competition": 1 # 竞争激烈程度
|
|
|
}, {
|
|
|
"bid": 1.2,
|
|
|
"show": 6607,
|
|
|
"click": 1034.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 190317,
|
|
|
"competition": 1
|
|
|
}, {
|
|
|
"bid": 6.35,
|
|
|
"show": 54162,
|
|
|
"click": 7832.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 1129693,
|
|
|
"competition": 1
|
|
|
}],
|
|
|
"pc": [{
|
|
|
"bid": 5.22, # 计算机指导价
|
|
|
"show": 260,
|
|
|
"click": 35.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 6354, # 月均计算机搜索量
|
|
|
"competition": 2
|
|
|
}, {
|
|
|
"bid": 0.77,
|
|
|
"show": 3368,
|
|
|
"click": 455.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 34995,
|
|
|
"competition": 2
|
|
|
}, {
|
|
|
"bid": 6.35,
|
|
|
"show": 42538,
|
|
|
"click": 5750.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 286344,
|
|
|
"competition": 2
|
|
|
}],
|
|
|
"mobile": [{
|
|
|
"bid": 2.5, # 移动指导价
|
|
|
"show": 274,
|
|
|
"click": 48.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 9488, # 月均移动搜索量
|
|
|
"competition": 1 #
|
|
|
}, {
|
|
|
"bid": 1.2,
|
|
|
"show": 3239,
|
|
|
"click": 579.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 155322,
|
|
|
"competition": 1
|
|
|
}, {
|
|
|
"bid": 4.35,
|
|
|
"show": 11624,
|
|
|
"click": 2081.0,
|
|
|
"charge": 0.0,
|
|
|
"pv": 843349,
|
|
|
"competition": 1
|
|
|
}],
|
|
|
"words": ["水箱", "奶茶", "二手车"],
|
|
|
"showReasons": [
|
|
|
["高频热搜词"], # 特色
|
|
|
[],
|
|
|
["黑马词"]
|
|
|
]
|
|
|
}]
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
## 爬虫运行环境
|
|
|
<!--udm模块?scrapy?或其他-->
|
|
|
```buildoutcfg
|
|
|
udm
|
|
|
```
|
|
|
|
|
|
|
|
|
## 爬虫部署信息
|
|
|
<!--部署在哪些机器?每个机器多少进程?项目名称是什么?-->
|
|
|
```buildoutcfg
|
|
|
10.8.6.21 baidu_index 100个进程
|
|
|
10.8.6.23 baidu_planner 5个进程
|
|
|
```
|
|
|
|
|
|
|
|
|
## Taskhub地址
|
|
|
```buildoutcfg
|
|
|
无
|
|
|
```
|
|
|
|
|
|
## Taskhub调度规则说明
|
|
|
```buildoutcfg
|
|
|
无
|
|
|
```
|
|
|
|
|
|
|
|
|
## 爬虫监控指标设计
|
|
|
<!--监控爬虫正常运行的指标是什么?报警规则是什么?-->
|
|
|
```buildoutcfg
|
|
|
无
|
|
|
```
|
|
|
|
|
|
## 爬虫待采集结果目录
|
|
|
```buildoutcfg
|
|
|
/data/baidu_planner
|
|
|
/data/baidu_index
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
# **数据归集**
|
|
|
|
|
|
## 责任人
|
|
|
```
|
|
|
范召贤
|
|
|
```
|
|
|
|
|
|
## 数据归集方式
|
|
|
|
|
|
- [ ] 爬虫直接写kafka
|
|
|
|
|
|
- [x] 爬虫写文件logstash采集
|
|
|
|
|
|
|
|
|
## 归集后存放目录
|
|
|
```buildoutcfg
|
|
|
无
|
|
|
```
|
|
|
|
|
|
## logstash配置文件名称
|
|
|
```buildoutcfg
|
|
|
无
|
|
|
```
|
|
|
|
|
|
## logstash文件采集type
|
|
|
```buildoutcfg
|
|
|
无
|
|
|
```
|
|
|
|
|
|
## 数据归集的topic
|
|
|
```buildoutcfg
|
|
|
无
|
|
|
```
|
|
|
|
|
|
## ES日志索引及筛选条件
|
|
|
```buildoutcfg
|
|
|
无
|
|
|
```
|
|
|
|
|
|
## 监控指标看板
|
|
|
|
|
|
|
|
|
## 数据保留策略
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
# **数据清洗**
|
|
|
|
|
|
## 责任人
|
|
|
|
|
|
|
|
|
## 代码地址
|
|
|
|
|
|
|
|
|
## 部署地址
|
|
|
<!--机器及线上代码地址-->
|
|
|
|
|
|
|
|
|
## 部署方法及说明
|
|
|
<!--运行方法及运行命令、supervisor配置、supervisor的program等-->
|
|
|
- [ ] crontab + data_pump
|
|
|
- [ ] supervisor + data_pump
|
|
|
- [ ] supervisor + consumer
|
|
|
|
|
|
## 数据接收来源
|
|
|
<!--来源于kafka还是归集的文件、topic的group?-->
|
|
|
|
|
|
|
|
|
## 数据存储表地址
|
|
|
|
|
|
* 数据库地址:
|
|
|
* 表名: |
|
|
\ No newline at end of file |