芝麻HTTP:在阿里云上测试Gerapy教程

1、配置环境

阿里云的版本是2.7.5,所以用pyenv新安装了一个3.6.4的环境,安装后使用pyenv global 3.6.4即可使用3.6.4的环境,我个人比较喜欢这样,切换自如,互不影响。

如下图:

芝麻HTTP:在阿里云上测试Gerapy教程

接下来按照大才的文章,pip install gerapy即可,这一步没有遇到什么问题。有问题的同学可以向大才提issue。

2. 开启服务

首先去阿里云的后台设置安全组   ,我的是这样:

芝麻HTTP:在阿里云上测试Gerapy教程

然后到命令窗口对8000和6800端口放行即可。

接着执行

gerapy init

cd gerapy

gerapy migrate

    # 注意下一步 

    gerapy runserver  0.0.0.0:8000 【如果你是在本地,执行 gerapy runserver即可,如果你是在阿里云上,你就要改成前面这样来执行】

现在在浏览器里访问:ip:8000应该就可以看到主界面了

芝麻HTTP:在阿里云上测试Gerapy教程

里面的各个的含义见大才的文章。

3.创建项目

在gerapy下的projects里面新建一个scrapy爬虫,在这里我搞的是最简单的:

scrapy startproject gerapy_test

cd gerapy_test

scrapy genspider baidu www.baidu.com

这样就是一个最简单的爬虫了,修改一个settings.py中的ROBOTSTXT_OBEY=False, 然后修改一个spiders下面的baidu.py, 这里随意,我这里设置的是输出返回的 response.url

4.安装scrapyd

pip install scrapyd

安装好以后,命令行执行

scrapyd

然后浏览器中打开 ip:6800,如果你没有修改配置,应该这里会打不开,clients那里配置的时候,也应该会显示为error,就像这样:

芝麻HTTP:在阿里云上测试Gerapy教程

后来找了一下原因发现scrapyd默认打开的也是127.0.0.1

芝麻HTTP:在阿里云上测试Gerapy教程

所以这个时候就要改一下配置,具体可以参考这里, 我是这么修改:

vim ~/.scrapyd.conf

[scrapyd]
bind_address = 0.0.0.0

在刷新一下,就会看到前面error变成了normal

芝麻HTTP:在阿里云上测试Gerapy教程

5. 打包,部署,调度

这几步大才的文章里都有详细说明,打包完,部署,在进入clients的调度界面,点击run按钮即可跑爬虫了

芝麻HTTP:在阿里云上测试Gerapy教程芝麻HTTP:在阿里云上测试Gerapy教程

芝麻HTTP:在阿里云上测试Gerapy教程

可以看到输出的结果了。

6.结语

建议大家可以试着用一下,很方便,我这里只是很简单的使用了一下。

上一篇:CSS中link和@import的区别是:


下一篇:这交互炸了:饿了么是怎么让Image变成详情页的