# onetu
**Repository Path**: perror/onetu
## Basic Information
- **Project Name**: onetu
- **Description**: one兔首页, 附近推荐API, 新闻数据爬虫等等
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2017-08-14
- **Last Updated**: 2022-05-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# one兔(python)
## 目录
* [项目说明](#项目说明)
* [详细项目说明](#详细项目说明)
* [API](#API)
* [Crawl](#Crawl)
* [dataAnalysis](#dataAnalysis)
* [TextCategorization](#TextCategorization)
* [tornado_api](#tornado_api)
* [pyspark_recommender](#pyspark_recommender)
* [del_data](#del_data)
* [Script](#Script)
* [项目依赖](#项目依赖)
* [部署方式](#部署方式)
* [pc端发帖](#pc端发帖)
* [首页附近](#首页附近)
* [推荐系统](#推荐系统)
* [爬虫](#爬虫)
* [脚本专用服务器](#脚本专用服务器)
## 项目说明
1. API 文件夹属于半废弃项目, 目前在用的有web 端发帖项目, 位于: API.indexPersonalizedRecommendation.newPost
2. Crawl 文件夹属于爬虫代码, 爬虫使用了scrapy创建, 位于: Crawl.crawls.crawls.spiders
3. Modular 文件夹已废弃
4. OtherFile 文件夹存放已废弃但仍时不时用到的项目
5. Script 文件夹中存放了一些平时可用的脚本
6. TextCategorization 文件夹, 中文分词, 以及中文分类(未实际使用)
7. dataAnalysis 文件夹 数据分析目录, 目前未使用
8. jieba_data 文件夹, 中文分词词库
9. tornado_api 目前主要的api
## 详细项目说明
#### API
API.indexPersonalizedRecommendation.newPost: web 发帖业务逻辑处理模块 -> 默认端口 7070 部署: test.onetuu.com, 路径: /ftp/code_newyaer, 部署方式: screen
API.indexPersonalizedRecommendation.postinst: 帖子处理模块
#### Crawl
Crawl.crawls.crawls.spiders: 爬虫业务代码 -> 部署: dev.onetuu.com, 路径: /spider, 部署方式: screen, scrapyd, tornado
Crawl.vimm_chrome_proxyauth_plugin: chrome 代理设置
Crawl.vimm_chrome_proxyauth_plugin_http: chrome 代理设置
#### dataAnalysis
dataAnalysis.filter_analysis: 用户行为数据分析(未使用)
#### TextCategorization
TextCategorization.NB: 基于朴素叶贝斯文本分类
TextCategorization.text-classification-cnn-rnn-master: 基于rnn, cnn 文本分类
TextCategorization.CustomClassificationAlgorithm: 传统文本分类,
#### tornado_api
tornado_api.H5Main: H5 wensocket 实现小游戏
tornado_api.NativeMain: app 首页推荐, 附近推荐模块实现 -> 默认端口 8081, 部署: test.onetuu.com, 路径: /ftp/code_newyaer/, 部署方式: supervisor
tornado_api.spiderMain: 爬虫web 管理模块,默认端口 8888, 部署: dev.onetuu.com, 路径: /spider/tornado_api/spiderMain, 部署方式: screen
tornado_api.Tese: 测试
#### pyspark_recommender
pyspark_recommender.server: 推荐系统http接口 -> 默认端口 7979, 部署: cs.onetuu.com, 路径: /home/qin, 部署方式: screen
pyspark_recommender.itemBasedRecommender: 推荐系统: 基于社区推荐用户
pyspark_recommender.userBasedRecommender: 推荐系统: 基于用户推荐社区
pyspark_recommender.create_text: 推荐系统: 用戶行爲數據處理
#### del_data
del_data: 定时删除帖子脚本, 使用crontab每天早上6点定时删除3月之前帖子, 部署: dev.onetuu.com, 路径: /TEST/del_data/ 部署方式: crontab
#### Script
./discarded: 废弃脚本
./operate: 运行需求脚本
./cilck_page.py: 刷指定页面点击量脚本
./up_image_store.py: one兔app商店图片上传server
./product: 产品需求
./comment: 爬取评论脚本
./remove_cate_moment.py: 删除指定标签serverv
./utils: 工具类, 设置类
## 项目依赖
python 相关:
pip:
python >= 3.5
tornado >= 5.0
django >= 1.0
scrapy == 1.4.0
scrapyd == 1.2.0
scrapyd_api == 2.0.1
requests >= 2.18.4
jieba == 0.38
tensorflow == 1.4.0
pyspark == 2.2.1
pewwee == 4.0
peewee_async == 0.5.11
numpy == 1.13.1
redis == 2.10.6
pymysql == 0.7.11
oss2 == 2.3.4
github:
https://github.com/QYLGitHub/peeweeMysqlPoll
https://github.com/QYLGitHub/aliyun
https://github.com/QYLGitHub/pymysqlpool
其他:
spark == 2.7
## 部署方式
#### pc端发帖
PC端发帖使用django + rest_framework 框架实现, 使用screen管理进程, 部署端口7070
项目部署服务器: test.onetuu.com(121.41.13.76)
server应用程序路径: /ftp/code_newyaer/API/
screen进程名: 22909
#### 首页附近
首页附近使用toenaod web 框架, 使用了supervisor 来管理tornado 进程, 总计启动4个进程 分别监听了,5000, 5001, 5002, 5003, 使用nginx反向代理监听8081端口,达到负载均衡效果
tornado服务仍然支持热更新!!!
项目部署服务器: test.onetuu.com(121.41.13.76)
supervisor配置文件路径: /etc/supervisord.conf
server应用程序路径: /ftp/code_newyaer/tornado_api/NativeMain
nginx配置文件路径: /etc/nginx/nginx.conf
#### 推荐系统
推荐系统 后端采用pyspark来离线计算(一天一次, 在首页附近模块中实现了一个定时任务, 每天会定时发送http信息到推荐系统前端), 前端使用tornado作为外部命令来启动spark., torando服务使用screen来管理进程.
项目部署服务器: cs.onetuu.com(101.37.20.51)
server应用程序路径: /home/qin/server/
screen进程名: 7979
#### 爬虫
使用scrapy框架来执行爬虫, 使用scrapyd调度爬虫(默认端口6800), 爬虫调度使用了一个死循环检测器, 向scrapyd 发送http请求, 实现定时调度, 爬虫运行轨迹: 调度 -> scrapyd -> scrapy -> redis -> mysql
项目部署服务器: dev.onetuu.com(121.40.201.74)
爬虫web端管理:
server路径: /spider/tornado_api/spiderMain
server url: http://dev.onetuu.com:8888/index
screen进程名: 26070
#### 脚本专用服务器
使用tornaod部署, 包括onetu商城图片上传, 删除指定标签
项目部署服务器: dev.onetuu.com(121.40.201.74)
爬虫web端管理:
server路径: /spider/Script/server.py
server url: http://dev.onetuu.com:7070/
screen进程名: 24969