(1)购买阿里云服务器
在正式进入采集工作之前,是一系列的准备工作。首先登录进入阿里云官网,进行身份认证与学生认证,在阿里云“云翼计划”优惠条件下购买3个月的云服务器ESC(具体图例如下面两图),操作之后成功创建阿里云ESC实例。同时根据阿里云官网上相关知识(产品使用须知、软件安装及环境配置等)了解云服务器的日常操作。
----------
(2)安装python与scrapy
安装python:到python官网下载python2.7版本,下载之后配置好环境变量(后面发现好像不用安装);
安装scrapy:首先到scrapy的官网上下载scrapy1.3.3版本。
----------
(3)连接远程服务器
-MobaxTerm
前往MobaxTerm官网下载MobaxTerm的Free版本,进行安装。
安装成功之后,按照以下步骤与远程服务器相连接:新建Session、选择SSH、输入正确的host与username(同时可以进行MobaxTremd的界面设置)、点击'OK'、输入正确的实例密码之后,此时MobaxTerm已经与远程服务器建立了连接。
在这里遇到的问题就是自己在连接到远程服务器的时候,忘了实例密码,导致一直登不上,后来才发现可以直接到阿里云控制台更改,记得要重启实例新的密码才能生效。
-scrapy安装配置
接着,首先是需要建立一个虚拟环境,以避免包的混乱和冲突。创建虚拟环境之后,使用命令切换至虚拟环境进行操作。'cd'基本功能是切换目录。
cd venv
然后进行scrapy的安装与配置,使用命令“~# pip install scrapy",这时会出现错误提示,根据错误提示可知,是因为scrapy的依赖包没有安装好的缘故,主要包括lxml、twisted、cryptography等,在MobaxTerm的下载界面将这些依赖包下载好。
安装twisted依赖包时使用命令:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple twisted
安装cryptography依赖包使用以下命令,其中‘libssl-dev’和‘libffi-dev’是cryptography所需要的其他辅助包。
sudo apt-get install build-essential libssl-dev libffi-dev
pip install cryptography
‘python-dev’、‘zlib1g-dev’、‘libxml2-dev’和libxslt1-dev是安装lxml需要的包,需要在安装lxml之前准备好。
pip install lxml
这里出现的错误就是已经显示安装上了依赖包,却依然安装不了Scrapy的问题。后来通过查阅资料,说是需要更新依赖包,于是写了一行代码(如第3张图)结果就将scrapy安装好了。。。(至今不知道最初的问题是怎么回事)
当以上scrapy依赖包安装成功之后,再一次使用“~# pip install scrapy"命令,此时发现scrapy已经安装成功。
-操作pycharm
进入pycharm的[官网][5],下载其最新专业版本,进行安装。
安装过程出现错误提示“java JDK 环境配置不正确”,于是重新进入java官网下载JDK,并完成后续环境变量设置。(不太清楚pycharm跟java之间联系有多大,但的确是重新配置java之后,就能够安装上pycharm了)
接下来继续进行pycharm的安装,成功。然后在pycharm的setting中进行设置,主要包括与远程服务器的连接、映射、操作等一系列相关设置。通过选择“Browse Remote Host”可以看到远程服务器的目录结构。
----------
(4)数据采集
这一部分主要是根据老师给的PPT进行学习与采集,后期遇到很多问题,开始直接使用官网scrapy tutorial,并且官网的代码可以直接粘贴至所有的过程都是依照文档步骤走的,最后基本完成老师给的任务。
这里的问题是:在执行quotes爬虫时,执行结果说明应该有113条结果,最后导出来的json只有85条,或许是因为没有更新成功的原因?
另外,获取的JSON文件在Pycharm中是没有报错,在json转换成xml的过程,首先想直接以另存的格式实现。。。实际是不行的;然后就想直接使用在线json转换成xml,这样的方式是可以转换成功为xml的,不过在用浏览器运行浏览时是报错的;最后采取的方式是下载google插件google refine,不过通过这种方式依然不能直接将json转换为xml,而是先将json转换为html,然后通过Notepad++将其另存为xml格式。
对于xml文件的检验,采用浏览器运行浏览。