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:[] ...
随机推荐
- AQS: 什么是AQS?
AQS定义了一套多线程访问共享资源的同步器框架. 许多同步类实现都依赖于它,如常用的ReentrantLock/ReentrantReadWriterLock/CountDownLatch这些类里面都 ...
- java常用工具类(一)
一.String工具类 package com.mkyong.common; import java.util.ArrayList; import java.util.List; /** * * St ...
- column命令
grep -E "car_flag|feaname" s_35926_uid_psi_table_20170407.csv | column -t -s, -o'|'
- 如何将本地未提交的更改合并到另一个Git分支?
如何在Git中执行以下操作? 我当前的分支是branch1,我做了一些本地更改. 但是,我现在意识到我实际上是要将这些更改应用于branch2. 有没有办法应用/合并这些更改,以便它们成为branch ...
- Opencv笔记(十四)——边缘检测算法canny
简介 Canny 边缘检测算法 是 John F. Canny 于 1986年开发出来的一个多级边缘检测算法,也被很多人认为是边缘检测的 最优算法,它是由很多步构成的算法. 最优边缘检测的三个主要评价 ...
- SecureCRT8.3
https://blog.csdn.net/dff1993/article/details/81189610 这篇文章我试过,成功激活了SecureCRT8.3
- Docker系列八: 数据卷
什么是数据卷 生成环境中使用docker的过程中,往往需要对数据进行持久化,或者需要多个容器之间进行数据共享,这个就涉及到了容器数据管理 容器中管理数据主要有两种方式: 数据卷:容器内数据之间映射到本 ...
- signal之——异步回收机制
前言:回收子进程之前用了wait()和非阻塞模型,今天学了信号以后可以使回收机制更上一层楼,通过信号函数,父进程只需要做自己的事情,接收到信号后就触发信号函数. 信号处理函数可能会出现的bug: 1. ...
- redis中间件
redis的集群:集群策略:主从复制(从库从主库同步获取数据,本身不提供服务)哨兵(监控主库和从库,当主库挂的时候自动把从库选一个切换为主库,主库存放的是全量数据)集群参考:https://blog. ...
- 树莓派搭建钓鱼wifi热点
我们连接的公共wifi其实是非常不安全的网络,骇客可以利用wifi路由设备进行中间人攻击,劫持DNS伪造钓鱼网站.接下来我会做个简单的实验,伪造中国电信的路由ChinaNet并发射出热点wifi等待别 ...