2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)
请问您今天要来个引擎吗? 工欲善其事必先利其器
最终项目上线演示地址: http://search.mtianyan.cn
- 第二节:我们搞搞比利,搞搞环境的搭建。
Github地址: https://github.com/mtianyan/ArticleSpider
- IDE: pycharm
- 数据库: mysql, redis, elasticsearch
- 开发环境 virtualenv
这次的数据库只介绍mysql,后面两个会放到要用到的章节。
Pycharm的安装和使用
Pycharm在windows和linux下的安装:
- Pycharm的安装(linux 和windows)
一定要下载专业版,社区免费版有很多功能缺失
windows下pycharm安装。
PyCharm 2017.3.2
pycharm官方下载链接:https://www.jetbrains.com/pycharm/download/#section=windows
我们要选择专业版(Professional)因为只有专业版才能够新建django项目,免费社区版不能。
为Pycharm添加解释器:
setting - Project Interpreter:


一直定位到 python.exe 点击确认。
设置keymap: 设置快捷键。
Linux下pycharm使用。
同样下载专业版。 Linux下的版本实际是一个绿色版本。
1 |
cd pycharm |
设置通过命令直接启动。
1 |
vim ~/.bashrc alias pycharm="bash /home//pycharm.sh" source ~./bashrc |
mysql和Navicat的安装和使用
Mysql
百度”mysql for windows” 直接在百度软件中心下载即可

如果你的电脑跟我电脑一样空,推荐遵循我的:
- 点击接受协议
- 选择Custom选项。(如果默认选项,会发生必要条件缺失:如我电脑没有VS和py3.4)


- 下图页面点击
next会显示我们不满足的条件,back后点击绿色箭头移除。

- 所有条件都达成,点击
Execute,等待安装完成。

均为绿色代表安装完成。
- 一直默认选择直到下图页面。设置密码,添加用户(可选)
注意:记住自己设置的mysql密码

之后全部默认下一步。直到安装完成
Finish
这时Navicat已经可以正常连接了。如果想让mysql命令在cmd下可使用。
C:Program FilesMySQLMySQL Server 5.7bin (自行替换为自己的mysql.exe地址)加入环境变量中。

通过mysql -uroot -p命令可以进行登入mysql控制台。

1 |
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf |
修改bind adress: 0.0.0.0
1 |
sudo service mysql restart |
1 |
# 授予所有权限其实可以细化,on`*.*`是一个正则表达式,表示所有的表赋权限。`root `代表通过root用户连接过来。 `%` 代表所有外部的ip :当然也可以指明某一个ip.所有ip上只要是通过root 用户 Identity by`密码 `都可以访问我的所有表 |
L 大专栏 2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)inux 安装 mysql
1 |
sudo apt-get install mysql-server |
通过set py3获取py3安装路径。
Navicat
安装指南:下一步下一步。
下载地址:http://www.navicat.com.cn/download/navicat-for-mysql
我的安装目录: C:softwareNavicat Premium 12
virtualenv和virtualenvwrapper安装和配置
virtualenv介绍
每个应用可能需要各自拥有一套
独立的Python运行环境。virtualenv就是用来为一个应用创建一套隔离的Python运行环境。
virtualenv优点:

它是将全局Python解释器进行私有化复制。
如果不使用虚拟环境,默认的pip安装都会安装到同一个目录(java是把自己需要的包放到自己项目目录),不同项目使用起来会产生问题
安装virtualenv
进入cmd,(确保自己的pip已经可用)
1 |
pip install virtualenv |

默认使用virtualenv testvir该命令,会将虚拟环境创建在我们当前用户目录。
注意:我的目录在桌面是我的cmder设置的、还请自行cd %homepath%前往自己的目录
这样直接使用步骤有写过于繁琐。所以我们使用virtualenvwrapper
virtualenvwrapper安装
1 |
pip install virtualenvwrapper-win |
- 创建虚拟环境
1 |
mkvirtualenv DjangoTest |
会创建在C:UsersmtianEnvs当前用户目录下的Envs目录。
修改mkvirtualenv创建的目录:新增环境变量WORKON_HOME

退出激活状态
1
deactivate
知道有哪些虚拟环境
1
workon
Linux下安装:
1 |
sudo apt-get install python-virtualenv virtualenv venv --python=python3.5 |


1 |
mkvirtualenv articlespider --python=python3.5 rm -rf py3scrapy : 删除目录 |
2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)的更多相关文章
- Scrapy分布式爬虫打造搜索引擎- (二)伯乐在线爬取所有文章
二.伯乐在线爬取所有文章 1. 初始化文件目录 基础环境 python 3.6.5 JetBrains PyCharm 2018.1 mysql+navicat 为了便于日后的部署:我们开发使用了虚拟 ...
- ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程
1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...
- 第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索
第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门 我的搜素简单实现原理我们可以用js来实现,首先用js获取到 ...
- 第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页
第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页 逻辑处理函数 计算搜索耗时 在开始搜索前:start_time ...
- 第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能
第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能 Django实现搜索功能 1.在Django配置搜索结果页的路由映 ...
- 第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能
第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.e ...
- 五十 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索
第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门 我的搜素简单实现原理我们可以用js来实现,首先用js获取到 ...
- Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站
Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/Artic ...
- 第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询
第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询 bool查询说明 filter:[],字段的过滤,不参与打分must:[] ...
随机推荐
- C#在listview控件中显示数据库数据
一.了解listview控件的属性 view:设置为details columns:设置列 items:设置行 1.将listview的view设置为details 2.设置列属性 点击添加,添加一列 ...
- 14 微服务电商【黑马乐优商城】:day03-springcloud(Zuul网关)
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- Codeforces Round #606 E
题:https://codeforces.com/contest/1277/problem/E 题意:给定无向图,求有多少个pair之间的简单路径一定要经过给定的点a和b(pair中任何一个都不是a或 ...
- Opencv笔记(六)——把滑动条当调色板
学习目标: 学会把滑动条绑定到 OpenCV 的窗口. 学习函数:cv2.getTrackbarPos(), cv2.creatTrackbar()等. 简单演示: 通过调节滑动条来设定画板颜色.我们 ...
- Linux保护机制
RELRO(RELocation Read Only) 在Linux中有两种RELRO模式:"Partial RELRO" 和 "Full RELRO".Lin ...
- linux特殊权限(acl)
建立用户目录 创建目录/oldboy/tech./oldboy/edu,分别用于不同项目组添加组账号 添加组账号tech.edu,GID分别设置为1001.1002 ...
- XRichText
XRichText是一个可以显示Html富文本的TextView.可以用于显示新闻.商品详情等场景.欢迎star.fork,提出意见. 使用 Gradle : compile 'cn.droidlov ...
- Redis实现分布式读写锁(Java基于Lua实现)
https://blog.csdn.net/grandachn/article/details/89032815 https://blog.csdn.net/xingsilong/article/de ...
- chap4-关联接口测试-通过全局变量传递cookie
# 1 http_request.py import requests class HttpRequest: def http_request(self, url, method, data=None ...
- 吴裕雄--天生自然HTML学习笔记:HTML 简介
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...