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:[] ...
随机推荐
- Linux] Git: push 出错的解决 master -> master (branch is currently checked out)
在使用Git Push代码到数据仓库时,提示如下错误: [remote rejected] master -> master (branch is currently checked out ...
- Rnotebook中用python画图
如果notebook需要转化为pdf, 能想到办法是保存图片文件,嵌入mardown语法中. 但是如果在html中显示, 可以考虑下面思虑, 比较取巧. ``` {python, engine.pat ...
- [原]livekd使用问题记录
sysinternal suite中的livekd.exe可谓神器.可以用来观察本地内核的一些状态,当然抓内核dump再合适不过了. 在使用livekd的时候遇到了一些问题,现总结如下: 使用live ...
- mysql之存储过程(三)
带参数的存储过程: 特别说明: 在游标中是不支持对形参的判断的,外部可以 调用操作: call settlexxxxx_common("1970-11",999); 定义如下: ...
- JSP和EL和JSTL
什么是JSP Java Server Page的缩写从用户角度看待,就是一个网页从程序员角度看待,其实是一个java类,它继承了Servlet,所以可以直接说jsp就是一个Servlet 为什么会有J ...
- java replaceall 用法:处理特殊字符
public class TryDotRegEx { public static void main(String[] args) { // TODO Auto-generated method st ...
- pip install torch出现错误
首先使用Python的pip安装命令: pip install torch 出现错误 解决办法:这时需要先下载pytorch包,根据自己的python版本选择.pytorch包链接: https:// ...
- 通俗易懂JSONP讲解
原文地址:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html JSON的格式或者叫规则: JSON能够 ...
- 关于MyBatis的运行原理(转载)
1.获取sqlSessionFactory对象: 解析文件的每一个信息保存在Configuration中,返回包含Configuration的DefaultSqlSessionFactory: 注意: ...
- 从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲
Sifakis"21世纪的计算"大会主题演讲" title="从程序到系统:建立一个更智能的世界--记Joseph Sifakis"21世纪的计算&q ...