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 mysql restart

还必须对root用户授权,

grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘root‘ with grant option;
flush privileges;

%表示所有的IP。也就是所有IP只要是通过root用户过来的。密码是‘root‘都可以访问所有表。

创建数据库的时候需要把字符集选为UTF8

可以实现数据库传输。这样就可以把本地的数据库传输到远端。

安装python

sudo apt-get install python3.5

可以指定版本安装python

然后通过python3进入python的对话窗口

虚拟环境的安装和配置

为什么要用virutalenv

virtualenv 工具可以创建隔离的python环境。因为在开发两不同的程序的时候,怎样可能遇到,应用同样的库,但是版本却不一样的情况。所以virutalenv就是创建一个单独的环境,然后库将安装到自己目录下,不会和其他环境共享。

Windows环境下的安装

  • 安装虚拟环境
pip install virtualenv
  • 新建virutalenv
virtualenv scrapytest

如果要指定版本,可以使用virtualenv -p python的路径 scrapytest

  • 启动虚拟环境
    进入scrapytest/Scripts
    运行activate.bat

  • 退出环境
    运行deactivate.bat

Linux环境下的安装

  • 安装虚拟环境
sudo apt-get install python-virtualenv
  • 新建virtualenv
virtualenv py2

注意目录结构与windows不太一样,是在bin下面。

  • 启动虚拟环境
    通过source activate
  • 退出环境
    deactivate
  • 如果要安装python3的虚拟环境。
virtualenv -p /usr/bin/python3 py3

virtualenvwrapper的安装

可以看出如果只通过virtuaenv来建立虚拟环境的话,每次必须进目录,然后通过脚本的形式来启动,非常的麻烦,所以我们可以使用virtualenv的wrapper包来进行管理。

windows下安装virutalenvwrapper

  • 安装 virtualenvwrapper工具包
pip install virtualenvwrapper-win
  • 修改所创建的虚拟环境的工作目录,否则所创建的虚拟环境,默认会放在C:\Users\用户名\Envs里面

其中变量名为workon_home,里面变量值可以自定义。
注意修改以后一定要关闭命令行窗口重新打开,否则修改的环境变量不会生效。

  • 然后可以创建虚拟环境
    使用mkvirutalenv py3scrapy创建虚拟环境

    也可以指定python.exe的路径(比如在同一台PC上既安装了python2.7又安装了python3.5,此时可以指定用那个pyhon.exe了)
mkvirtualenv --python=python的exe文件 py3scrapy
  • 可以在虚拟环境中安装库,此时安装 request
 pip install -i https://pypi.douban.com/simple scrapy
安装Scrapy

为什么把安装Scrapy单列出来讲,因为如果直接使用pip install -i https://pypi.douban.com/simple scrapy的结果将是这个样的。


出现这个问题的因为Twisted等依赖的版本问题。

我们可以通过python的非官方库自己下载whl格式的包来进行安装
首先访问python非官方库这个网站。

里面有大量的扩展包。

  • 安装wheel库
    这个可以使用pip install wheel进行安装
  • 安装Twisted
    在上述的网页里面搜索Twisted关键词可以找到。

    其中cp36表示python 3.6,amd64表示64位系统,所以按照这个规律选择与自己版本相同的包即可。

然后需要进入下载的目录,使用pip install Twisted-17.9.0-cp36-cp36m-win_amd64.whl进行安装

  • scrapy依赖lxml包,还需要先安装lxml包,可以使用pip install lxml
  • 最后依然在之前的网站里面搜索Scrapy,找到

    然后同样进入文件夹,打开命令窗口,执行

  • 输入scrapy -h测试一下是否成功。
安装django

Linux下安装virtualenvwrapper

  • 安装virutalenvwrapper
    注意要加sudo
sudo pip install -i https://pypi.douban.com/simple virtualenvwrapper

安装成功之后,不能直接像windows一样进行mkvirtualenv,因为还有很多东西没有进行配置。

需要先找到virtualenvwrapper.sh的位置。
所以

sudo apt-get install locate
updatedb
locate virtualenvwrapper.sh

  • 创建目录用来存放虚拟环境,并export环境变量。
mkdir ~/.virtualenvs
export WORKON_HOME=~/.virtualenvs
  • 需要source一下脚本进行启动。
source /usr/local/bin/virtualenvwrapper.sh

然后遇到了如下的问题,因为我目前的Linux里面安装了python2.7和python3.5

所以执行

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh


此时virtualenvwrapper就可以使用了。

命令列表如下:

含义

workon,lsvirtualenv

workon [虚拟环境名称]

mkvirtualenv

rmvirtualenv

deactivate

  • 新建python3的虚拟环境
mkvirtualenv --python=/usr/bin/python3 py3scrapy
  • 安装request等包
安装scrapy
  • 首先安装依赖:
sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
  • 如果使用的是python3的版本还需要安装
sudo apt-get install python3 python3-dev
  • 最后安装scrapy
pip install -i https://pypi.douban.com/simple  scrapy
安装django

首先需要安装pip3

 wget https://bootstrap.pypa.io/get-pip.py
 sudo python3 get-pip.py
 sudo python get-pip.py#安装python2.7的pip
 pip -V  #查看pip版本

然后

sudo pip3 install -i https://pypi.douban.com/simple django

原文地址:https://www.cnblogs.com/dy2903/p/8365434.html

时间: 2024-11-08 01:15:20

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

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

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

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分布式爬虫打造搜索引擎(慕课网)--爬取知乎(二)

通过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

python分布式爬虫打造搜索引擎--------scrapy实现

最近在网上学习一门关于scrapy爬虫的课程,觉得还不错,以下是目录还在更新中,我觉得有必要好好的做下笔记,研究研究. 第1章 课程介绍 1-1 python分布式爬虫打造搜索引擎简介 07:23 第2章 windows下搭建开发环境 2-1 pycharm的安装和简单使用 10:27 2-2 mysql和navicat的安装和使用 16:20 2-3 windows和linux下安装python2和python3 06:49 2-4 虚拟环境的安装和配置 30:53 第3章 爬虫基础知识回顾

第三百六十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理

第三百六十四节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)的mapping映射管理 1.映射(mapping)介绍 映射:创建索引的时候,可以预先定义字段的类型以及相关属性elasticsearch会根据json源数据的基础类型猜测你想要的字段映射,将输入的数据转换成可搜索的索引项,mapping就是我们自己定义的字段数据类型,同时告诉elasticsearch如何索引数据以及是否可以被搜索 作用:会让索引建立的更加细致和完善 类型:静态映射和动态

第三百七十一节,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(搜索引擎)的查询

第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)的查询 elasticsearch(搜索引擎)的查询 elasticsearch是功能非常强大的搜索引擎,使用它的目的就是为了快速的查询到需要的数据 查询分类: 基本查询:使用elasticsearch内置的查询条件进行查询 组合查询:把多个查询条件组合在一起进行复合查询 过滤:查询同时,通过filter条件在不影响打分的情况下筛选数据