Scrapy爬虫框架第一讲(Linux环境)
1、What is Scrapy?

答:Scrapy是一个使用python语言(基于Twistec框架)编写的开源网络爬虫框架,其结构清晰、模块之间的耦合程度低,具有较强的扩张性,能满足各种需求。(前面我们介绍了使用requests、beautifulsoup、selenium等相当于你写作文题,主要针对的是个人爬虫;而Scrapy框架的出现给了我们一个方便灵活爬虫程序架构,我们只需针对其中的组件做更改,即可实现一个完美的网络爬虫,相当于你做填空题!)
基于Scrapy的使用方便性,下面所有的Scrapy程序我们都会在Linux系统下运行
2、Scrapy框架的安装(这里我使用的是vmware虚拟机+ubuntu16.04镜像环境)
打开终端: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
这里小伙伴们可以先创建一个虚拟环境:pip3 install virtualenv 再进行scrapy 的安装(之后你写的所有程序都会在虚拟环境中运行)
基于我使用的是ubuntu16.04版本,系统自带了python2.7.14 和python3.5.2两个版本
下面小伙们让我们先来解决一个多版本的共存问题吧
当你输入python时系统会自动指向python2,而我们的所有程序是基于python3 的,这也是以后的主流。(我们要的是输入python,系统直接链接到python3)

下面我们来解决这个问题:sudo su (输入你设置等待用户密码进入超级用户权限)---接着请看图:


分析:(linux命令小伙伴们我们以后再谈)
当我们键入python2 系统自动指向python2环境,python3同样如此
whereis python 找出了python的所有可执行文件的路径
which python 找出了当我们键入python时执行的文件路径
我们使用rm 首先删除了该路径,接着使用 ln -s 参数1 参数2 (将参数1 指向 参数2 这里相当于生成了软链接原理和超链接一样,当你键入python时系统自动指向了软连接 python3的可执行文件的路径并执行文件),这样我们成功的达到了预想目的
3、如何解决同时使用多个python版本和同时使用多个库版本的问题
答:安装virtualenv虚拟环境
打开终端:sudo pip3 install virtualenv
如果出现以下错误请使用 vi /usr/bin/pip3 更改配置文件(这是因为原来我们是python2的pip当你升级后系统没改配置文件,小伙伴们不要紧张,我们自己修改即可)

这里涉及到linux下强大的文本编辑器vim的使用我们下次专门讲解
更改配置文件如下:

再次键入:sudo pip3 install virtualenv (成功)
接着:

创建名叫course-python3.5-env 的python3.5虚拟环境:如上图
激活与推出虚拟环境 source 与 deactivate 命令

最后我们按照前述,首先激活虚拟环境,然后安装Scrapy即可
验证:终端键入:scrapy --version查看安装的scapy版本,不报错即可!
以后我们所有的scrapy爬虫项目都在虚拟环境下运行了!
Scrapy爬虫框架第一讲(Linux环境)的更多相关文章
- 手把手教你如何新建scrapy爬虫框架的第一个项目(上)
前几天给大家分享了如何在Windows下创建网络爬虫虚拟环境及如何安装Scrapy,还有Scrapy安装过程中常见的问题总结及其对应的解决方法,感兴趣的小伙伴可以戳链接进去查看.关于Scrapy的介绍 ...
- Python之Scrapy爬虫框架安装及简单使用
题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...
- scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250
scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250 前言 经过上一篇教程我们已经大致了解了Scrapy的基本情况,并写了一个简单的小demo.这次我会以爬取豆瓣电影TOP250为例进一步为大 ...
- Python爬虫教程-31-创建 Scrapy 爬虫框架项目
本篇是介绍在 Anaconda 环境下,创建 Scrapy 爬虫框架项目的步骤,且介绍比较详细 Python爬虫教程-31-创建 Scrapy 爬虫框架项目 首先说一下,本篇是在 Anaconda 环 ...
- Python-S9-Day126——Scrapy爬虫框架
01 今日内容概要 02 内容回顾和补充:scrapy 03 内容回顾和补充:网络和并发编程 04 Scrapy爬虫框架:pipeline做持久化(一) 05 Scrapy爬虫框架:pipeline做 ...
- scrapy爬虫框架教程(二)-- 爬取豆瓣电影
前言 经过上一篇教程我们已经大致了解了Scrapy的基本情况,并写了一个简单的小demo.这次我会以爬取豆瓣电影TOP250为例进一步为大家讲解一个完整爬虫的流程. 工具和环境 语言:python 2 ...
- Scrapy爬虫框架(实战篇)【Scrapy框架对接Splash抓取javaScript动态渲染页面】
(1).前言 动态页面:HTML文档中的部分是由客户端运行JS脚本生成的,即服务器生成部分HTML文档内容,其余的再由客户端生成 静态页面:整个HTML文档是在服务器端生成的,即服务器生成好了,再发送 ...
- python3.7.1安装Scrapy爬虫框架
python3.7.1安装Scrapy爬虫框架 环境:win7(64位), Python3.7.1(64位) 一.安装pyhthon 详见Python环境搭建:http://www.runoob.co ...
- 安装scrapy 爬虫框架
安装scrapy 爬虫框架 个人根据学习需要,在Windows搭建scrapy爬虫框架,搭建过程种遇到个别问题,共享出来作为记录. 1.安装python 2.7 1.1下载 下载地址 1.2配置环境变 ...
随机推荐
- Leetcode_83_Remove Duplicates from Sorted List
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41728739 Given a sorted linked ...
- Android 仿百合网超火爆社交app首页滑动效果
探探,百合网等神器的首页有一个相册加载个控件,通过左滑右滑加载新的照片,同时左滑丢弃这个照片,右滑则表明对这个照片感兴趣. 这个效果是怎么实现的呢? 1,Android3.0以后控件中增加了setTr ...
- java线程池ThreadPoolExecutor 如何与 AsyncTask() 组合使用
简单说下Executors类,提供的一系列创建线程池的方法: 他们都有两个构造方法 1. --------newFixedThreadPool (创建一个定长线程池,可控制线程最大并发数,超出的线程会 ...
- [SqlServer]2008转到2005的步骤步骤
2008转到2005的步骤步骤 1. 生成for 2005版本的数据库脚本 2005 的manger studio -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 ...
- Dynamics CRM Odata QueryUrl中的SetName问题
用javasrcipt通过odata方式访问组织服务进行CRUD操作时,queryurl的正确拼接很关键. 以下面的url为例:"XX/XRMServices/2011/Organizati ...
- 【UML 建模】UML入门 之 交互图 -- 时序图 协作图详解
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 . 动态图概念 : 从静态图中抽取瞬间值 ...
- 22_Android中的本地音乐播放器和网络音乐播放器的编写,本地视频播放器和网络视频播放器,照相机案例,偷拍案例实现
1 编写以下案例: 当点击了"播放"之后,在手机上的/mnt/sdcard2/natural.mp3就会播放. 2 编写布局文件activity_main.xml <Line ...
- 03_TortoiseGit冲突和补丁演示,补丁冲突
1 下载TortoiseGit,下载地址: http://tortoisegit.soft32.com/free-download/ 2 创建一个GIT仓库 3 创建克隆,创建两个用于克隆的仓库 ...
- python-inotify 在linux上安装
python-inotify 在linux上安装 0 下载 $ wget --no-check-certificate https://pypi.python.org/packages/source/ ...
- 《java入门第一季》之面向对象(继承)
/* 继承的注意事项: A:子类只能继承父类所有(非私有)的成员(成员方法和成员变量),私有的变量和方法没法继承 B:子类(不能)继承父类的(构造方法),但是可以通过super关键字去访问父类构造方法 ...