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:[] ...
随机推荐
- 新年在家学java之基础篇-高级类的特性
继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不 ...
- Python笔记_第一篇_面向过程_第一部分_6.条件控制语句(if)
Python正如其他语言一样存在两种常用的逻辑判断体(也叫结构化程序设计).所谓逻辑判断体是通过你想要完成的编程思路,通过在逻辑判断体中的相互判断和作用得到你想要的结果.逻辑判断体也叫控制语句,Pyt ...
- cocoaPods安装使用亲体验
一. cocoaPods的安装. 终端中输入: $ sudo gem install cocoapods 注意:直接在terminal中输入这个是安装不成功的,因此,我们可以通过淘宝的Ruby镜像来访 ...
- ansible批量部署模块(二)
回顾:Ansible: 无需客户端程序 只要有SSH 模块化 ansible帮助工具ansible-doc 模块名ansible-doc 模块名 -s 列出该模块的所有选项ansible-doc -l ...
- oracle中null的理解
< EXAMNO STUNO WRITTENEXAM LABEXAM e2014070001 s25301 80 58 e2014070002 s25302 50 e2014070003 s ...
- redis簡單命令
- github傻瓜的食用方法
配置Git 首先在本地创建ssh key: 1 $ ssh-keygen -t rsa -C "your_email@youremail.com" 后面的your_email@yo ...
- VDMA搭建视频通路总结
全局观查,对整个工程的搭建的关键是要保证PL部分搭建成功,PS部分搭建成功,而且两者配合的很好. 我理解的PL部分涉及到模块的组合以及模块或者IP之间的逻辑的整理,PL部分困扰我比较久的是自动生成的w ...
- [LC] 211. Add and Search Word - Data structure design
Design a data structure that supports the following two operations: void addWord(word) bool search(w ...
- 3DSMAX安装未完成,某些产品无法安装的解决方法
3DSMAX提示安装未完成,某些产品无法安装该怎样解决呢?,一些朋友在win7或者win10系统下安装3DSMAX失败提示3DSMAX安装未完成,某些产品无法安装,也有时候想重新安装3DSMAX的时候 ...