2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)

请问您今天要来个引擎吗? 工欲善其事必先利其器

最终项目上线演示地址: http://search.mtianyan.cn

  1. IDE: pycharm
  2. 数据库: mysql, redis, elasticsearch
  3. 开发环境 virtualenv

这次的数据库只介绍mysql,后面两个会放到要用到的章节。

Pycharm的安装和使用

Pycharm在windows和linux下的安装:

  1. 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下的版本实际是一个绿色版本。

123
cd pycharmcd bin/./pycharm.sh

设置通过命令直接启动。

12345
vim ~/.bashrc

alias pycharm="bash /home//pycharm.sh"

source ~./bashrc

mysql和Navicat的安装和使用

Mysql

百度”mysql for windows” 直接在百度软件中心下载即可

如果你的电脑跟我电脑一样空,推荐遵循我的:

  1. 点击接受协议
  2. 选择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
1234
# 授予所有权限其实可以细化,on`*.*`是一个正则表达式,表示所有的表赋权限。`root `代表通过root用户连接过来。 `%` 代表所有外部的ip :当然也可以指明某一个ip.所有ip上只要是通过root 用户 Identity by`密码 `都可以访问我的所有表grant all privileges on *.* to 'root'@'%' identified by 'ty158917' with grant option;

flush privileges;

L 大专栏  2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)inux 安装 mysql

123456
sudo apt-get install mysql-serverps aux|grep mysql

mysql-uroot -p

show databases;

通过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已经可用)

123456789
pip install virtualenvvirtualenv testvir

cd %homepath%cd testvircd Scriptsactivate.bat #激活pip list deactivate.bat

默认使用virtualenv testvir该命令,会将虚拟环境创建在我们当前用户目录。

注意:我的目录在桌面是我的cmder设置的、还请自行cd %homepath%前往自己的目录

这样直接使用步骤有写过于繁琐。所以我们使用virtualenvwrapper

virtualenvwrapper安装

12
pip install virtualenvwrapper-winpip install virtualenvwrapper(Linux)
  • 创建虚拟环境
1
mkvirtualenv DjangoTest

会创建在C:UsersmtianEnvs当前用户目录下的Envs目录。

修改mkvirtualenv创建的目录:新增环境变量WORKON_HOME

  • 退出激活状态

    1
    deactivate
  • 知道有哪些虚拟环境
    1
    workon

Linux下安装:

123456789101112
sudo apt-get install python-virtualenv

virtualenv venv --python=python3.5virtualenv venv --python=python2.7

安装pip

sudo python get-pip.py

pip install virtualenvwrapper

sudo find / -name virtualenvwrapper.sh

123
mkvirtualenv articlespider --python=python3.5

rm -rf py3scrapy : 删除目录

原文地址:https://www.cnblogs.com/lijianming180/p/12239903.html

时间: 2024-10-06 23:20:08

2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)的相关文章

Scrapy分布式爬虫打造搜索引擎- (二)伯乐在线爬取所有文章

二.伯乐在线爬取所有文章 1. 初始化文件目录 基础环境 python 3.6.5 JetBrains PyCharm 2018.1 mysql+navicat 为了便于日后的部署:我们开发使用了虚拟环境. 1234567891011 pip install virtualenvpip install virtualenvwrapper-win安装虚拟环境管理mkvirtualenv articlespider3创建虚拟环境workon articlespider3直接进入虚拟环境deactiv

Scrapy分布式爬虫打造搜索引擎 (一),开发环境安装

Technorati 标签: 分布式爬虫 Linux环境下安装mysql sudo apt-get install mysqlserver 然后可以查看是否启动 ps aux | grep mysqld 登录 mysql -uroot -proot ? 如何让虚拟机中的mysql被外界访问到. sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 里面的bind-address需要修改 可以把此监听地址改为0.0.0.0然后重启服务 sudo service m

Scrapy分布式爬虫打造搜索引擎——(二) scrapy 爬取伯乐在线

1.开发环境准备 1.爬取策略 目标:爬取“伯乐在线”的所有文章 策略选择:由于“伯乐在线”提供了全部文章的索引页 ,所有不需要考虑url的去重方法,直接在索引页开始,一篇文章一篇文章地进行爬取,一直进行到最后一页即可. 索引页地址:http://blog.jobbole.com/all-posts/ 2. 搭建python3虚拟环境 打开cmd,进入命令行,输入workon,查看当前存在的虚拟环境:  workon 为爬虫项目,新建python3虚拟环境: mkvirtualenv -p py

Scrapy分布式爬虫打造搜索引擎(慕课网)--爬取知乎(二)

通过Scrapy模拟登陆知乎 通过命令让系统自动新建zhihu.py文件 首先进入工程目录下 再进入虚拟环境 通过genspider命令新建zhihu.py scrapy genspider zhihu www.zhihu.com 新建main.py文件,使得程序可以调试 1 #coding:utf-8 2 3 from scrapy.cmdline import execute #调用这个函数可以执行scrapy的脚本 4 5 import sys 6 import os 7 #获取当前路径o

ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程

1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id  id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储.我们可以将elasticsearch和关系型数据库进行比较,index相当于关系型数据库中的database,type相当于table,而id就相当于表中的主键,elasticsearch中一个文档存储的一个json则能视为是关系型数据库中一张表的一行数据,而ID就是他的主键,在理解了es的存储结构

第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索

第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)用Django实现我的搜索以及热门 我的搜素简单实现原理我们可以用js来实现,首先用js获取到输入的搜索词设置一个数组里存放搜素词,判断搜索词在数组里是否存在如果存在删除原来的词,重新将新词放在数组最前面如果不存在直接将新词放在数组最前面即可,然后循环数组显示结果即可 热门搜索实现原理,当用户搜索一个词时,可以保存到数据库,然后记录搜索次数,利用redis缓存搜索次数最到的词,过一段时间更新

第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页

第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)用Django实现搜索结果分页 逻辑处理函数 计算搜索耗时 在开始搜索前:start_time = datetime.now()获取当前时间 在搜索结束后:end_time = datetime.now()获取当前时间 last_time = (end_time-start_time).total_seconds()结束时间减去开始时间等于用时,转换成秒 from django.shortcu

第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能

第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲-用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html 创建自动补全字段 自动补全需要用到一个字段名称为suggest类型为Completion类型的一个字段 所以我们需要用

五十 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索

第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)用Django实现我的搜索以及热门 我的搜素简单实现原理我们可以用js来实现,首先用js获取到输入的搜索词设置一个数组里存放搜素词,判断搜索词在数组里是否存在如果存在删除原来的词,重新将新词放在数组最前面如果不存在直接将新词放在数组最前面即可,然后循环数组显示结果即可 热门搜索实现原理,当用户搜索一个词时,可以保存到数据库,然后记录搜索次数,利用redis缓存搜索次数最到的词,过一段时间更新