Learning Scrapy:《精通Python爬虫框架Scrapy》Windows环境搭建

    之前用爬虫抓点数据的时候基本上就是urllib3+BeautifulSoup4,后来又加入requests,大部分情况就够用了。但是最近心血来潮想学一下Scrapy,于是找了本书——《精通Python爬虫框架Scrapy》。内容算是比较可以的,但是按书中附录搭建环境着实折腾了一点时间,于是想把碰到的问题总结一下,让大家也少走点弯路。

    进入正题之前,有几点要说明一下:

  1. 安装这个环境有什么用?这个环境就是一个服务器,有需要你抓的网站,不会因现实中的网站改版而造成代码失效,书中测试代码的网站基本上都基于这个服务器进行的;
  2. 书中默认的操作系统是Linux,只需要按书中的命令一个一个输入就行了,也可以参考这篇https://blog.csdn.net/calmseason/article/details/96745478,这里要介绍的是Windows下的环境搭建;
  3. 安装过程中需要从国外服务器下载一些镜像文件,不少于3.0G,下载速度就只能呵呵了;
  4. 安装docker-toolbox需要操作系统是64位系统。

    言归正传,开始吧。

一、安装Scrapy

    我一般用pip安装各种库,只有一点值得注意一下,就是从pypi.org下载实在是一言难尽,于是:

pip install scrapy -i https://pypi.douban.com/simple

二、安装Vagrant

     Vagrant Windows版32位下载地址,64位下载地址。安装就不多说了。

三、安装Docker Toolbox

    关于这个书里介绍得比较简单,详细的内容需要自行到https://www.docker.com/docker-toolbox去研究。当然Docker的网站也让我想吐槽一下,看半天也不知道下载入口在哪里,WTF!

    docker-toolbox下载地址

    我查了很多网上一些资料,有些说还要安装VirtualBox、Git等,但是实际上不需要,安装完Docker-toolbox之后会自动安装。

Learning Scrapy:《精通Python爬虫框架Scrapy》Windows环境搭建

四、安装PowerShell 3.0

    因为我用的是Windows 7,在执行后面的vagrant up命令时候提示了一个错误,索性还是装了。

    要注意的是安装时需要启动Windows Update服务。下载地址

五、克隆scrapy示例项目

    直接到github去下载就行了,书中有链接,或者

git clone https://github.com/scalingexcellence/scrapybook.git

六、开始配置

cd scrapybook-master

    启动之前,我碰到了执行vagrant up时总会提示错误的问题,最终解决办法就是需要手动启动docker:

docker-start.cmd

    接着就是最扯淡的启动过程了。先创建box:

vagrant box add lookfwd/scrapybook https://vagrantcloud.com/lookfwd/boxes/scrapybook/versions/1.0.0/providers/virtualbox.box

    注意:

  1. 网上很多人说box的名称可以随意取名,但是经我试验,只能用“lookfwd/scrapybook”,“/”也不要用错了,否则后面还会重新下载镜像文件。
  2. 上面命令中的virtualbox.box镜像下载会非常慢,最好有梯子,没有的我在文末提供了网盘下载;
  3. 使用下载后的本地文件添加box时,请使用命令:
    vagrant box add lookfwd/scrapybook -f 你的保存路径\virtualbox.box    #注意改路径

    最后就是:

vagrant up --no-parallel

    需要花几分钟时间来执行完,可惜我又碰到一个问题(VBOX_E_FILE_ERROR):

Learning Scrapy:《精通Python爬虫框架Scrapy》Windows环境搭建

      注意到其中有个(VERR_DISK_FULL),实际上就是我的磁盘满了,F*CK!默认虚拟机全放了C盘,好吧,都这个时候了我也不想再折腾了,果断清理系统盘。重新执行!测试!OK!

Learning Scrapy:《精通Python爬虫框架Scrapy》Windows环境搭建

七、总结一下

  1. 先注意自己操作系统,要64位;
  2. 建议事先用某雷下载好需要的软件;
  3. 不能完全相信书中的说法,在墙内什么都可能发生;
  4. 需要的virtualbox镜像我放在 ->网盘<-,2.7G,提取码:tjb6。过期或者网盘下载慢的话可以留言给我。