[腾讯云 Cloud studio 实战训练营] 制作 Scrapy Demo 爬取起点网月票榜小说数据
首语
最近接触到了一个关于云开发的 IDE,什么意思呢?
就是我们通常开发不是在电脑上吗,既要下载编译器,还要下载合适的编辑器,有的时候甚至还需要配置开发环境,有些繁琐。
而这个云开发的 IDE 就是只需要一台能够上网的电脑就可以进行开发,完全不需要配置环境,下载编译器和编辑器。
Cloud Studio 是什么
没错,这就是那一款云开发 IDE。可以在浏览器上进行代码的编写,也可以将编写好的代码上传到你的 Github 或者 Gitee。
Cloud Studio 的优势
因为之前使用过JetBrains
全家桶,所以就简单说一下对比,相较于传统的 IDE 来说,Clould Studio
不需要下载安装即可在网页上使用。
相对来说更为方便,更为难得的是,Clould Studio
在更为方便快捷的前提上,对比传统 IDE 的功能来讲,也都是具备的。
1. 代码纠错等基础功能
我们都知道,现在的 IDE 对于错误的代码不需要编译就可以标红提醒,因此Clould Studio
也具备这样的功能,当然,代码补全这个很实用的功能也是具备的(对于我这种记忆力不好的人来说,这个功能还是很重要的)
2. 环境搭建
对于项目的环境搭建来说,由于 Clould Studio 收集了众多项目模板,因此对于需要的环境可以一键搭建,主打的就是一个方便快捷
也并不需要你创办虚拟环境,重新安装类库等,直接创建开发空间,就是一个独立的项目,不需要担心不同项目之间突然,冒出来一个问题。
也不需要为学校教了多门语言而苦恼多门语言的编译器安装与环境配置问题。
当时我学习 java 的时候确实为了环境配置而苦恼,只能说相见恨晚呐!
3. 链接云服务器
创建的项目运行后是在类似于云服务器上跑的,web 项目也可以通过外网访问,工作空间内有分配的端口号和 IP,也是非常的方便。
Clould Studio
是使用 ssh 的方式来远程连接到,我们只需要在工作空间启动项目,然后就会出现这个按钮
点击后就会出现 ssh 的链接,使用对应的工具就可以远程链接了。
接下来我们就讲讲如何使用Clould Studio
来制作我们的Scrapy
Demo。
使用 Clould Studio 账号创建项目 Demo
1. 注册创建 Clould Studio 账号
打开Clould Studio
官方网站进行账号的注册登录:Clould Studio官网
在官网中我们可以看到对于Clould Studio
的简单介绍:
而我们要使用的话就可以直接点击官网右上角的注册/登录按钮
。
登录完成后回来到我们的工作空间(有个人和团体的)
2. 了解基本功能和内容
进入工作空间后,我们可以在左边看到一些木块,拢共分为三大类
开发空间——我们可以在开发空间看到我们创建的项目
空间模板——在空间模板里面有许多模板可以使用,不关你是 python,java,C,vue 语言,都有模板可供使用
应用推荐——这里面是各位大佬制作好的项目,如果对某个项目感兴趣,想观摩源代码,我们只需要点击之后,点击 Fork 按钮,就可以将大佬们的项目 copy 到我们自己的工作空间。
3. 创建 Python 模板
我们在空间模板中找到 Python 模板,然后点击一下就可以快速创建了,当然这需要一定的时间,不过时间也不长
我们的工作空间窗户建好之后,我们会发现自动运行了一个 Demo
而在 README 文件中我们也可以看到关于这个 Demo 的相关介绍
当然我们不想运行的话也是可以直接删掉的。
4. 使用 pip 下载 Scrapy 库
虽然我使用pip list
命令发现已经初始化了很多类库,比如flask
,pygame
等比较常用的,但是Scrapy
是没有的,同样的,我也并没有发现Django
库,我们使用的话,最好先查看一下有没有我们需要的类库。
先将我们不需要的文件删除掉,然后打开终端
之后再使用我们的pip
工具下载我们需要的类库pip install Scrapy
下载完成后以防万一,我们再使用pip list
命令检查一下是否安装成功
安装成功后我们就可以开始创建项目了
5. 创建 Scrapy 项目
创建 Scrapy 项目需要在终端输出命令创建,可别下载完就把终端×了啊
Scrapy startproject 项目名
出现下图内容就是创建成果了,同样的,我们还可以直接观察我们工作空间的目录,创建完成后会出现一个与项目名称同名的目录,那就是创建成果了
6. 创建爬虫文件
还是我们的终端,打开后切换到我们的项目目录下面,开始创建爬虫文件
显示这样就是我们的爬虫创建成果啦,当然爬虫开始工作还需要我们编写代码,现在还需要编写代码
先打开看看怎么个事
7. 确认爬取目标
爬取起点中文网月票榜上小说,获取小说名,作者名,连载状态,小说简介
我们要爬取某个网站,首先一点就是先获取到网站的 URL,所以网站的 URL 就是:https://www.qidian.com/rank/yuepiao/
所以我们的代码中就可以修改 url 了
将start_urls = ["https://www.xxx.com"]
修改为start_urls = ["https://www.qidian.com/rank/yuepiao/"]
8. 修改项目配置
在没学Scrapy
之前,我们都需要在确认网站 url 后填写headers
头部信息,比如user_agent
和cookies
,那么在Scrapy
中我们也需要填写这种头部信息
找到项目内的setting.py文件
打开
.
将里面的内容修改加添加一些
将 20 行的ROBOTSTXT_OBEY = True
改为ROBOTSTXT_OBEY = False
这个的意思是是否遵循机器人协议,默认是 true,需要改为 false
不然我们的爬虫有很多都无法爬取
添加代码:USER_AGENT:"你自己浏览器的请求头"
9. 编写爬取代码
好好好,代码已经写完了,那么我们来看看运行效果吧
可以看到我们的爬虫也是成功的爬取到了我们想要的数据,那么我们的数据如何保存下来呢?
有两种办法,一种是使用我们在Python
基础学过的 os 模块,一种是Scrapy
自带的数据保存方法
10. 数据保存
1. 使用 Scrapy 的方法保存
Scrapy 给我们了四种保存数据的方式,分别是json, json line, xml, csv
不需要编写代码,只需要在运行项目的时候添加命令参数即可
比如我们现在使用json
的格式储存,我们只需要
这样我们就可以看到在根目录生成了一个 json 格式的 data 文件,我们点进去看看
好了,这就成功了
2. 使用 os 模块保存数据
我们可以使用 python 自带的 os 模块来对文件进行操作
在爬虫里面添加的代码如下
注意添加到函数下面,return 上面
效果如图:
使用 Git 管理代码
1. 填写好项目的 README 文件
2. 使用 git 将代码上传到 Gitee
我们先打开终端,输入git init
初始化代码仓库
然后
3. 项目完成销毁工作空间
先将工作空间关闭
退出之后回到工作空间,可以点击三个点删除
结语
相较于传统的 IDE 来说,Clould Studio
更为的快捷和方便,不需要复杂的环境配置,不需要下载任何东西,只需要有一台能够连接互联网的电脑就可以进行开发工作了。
更为难能可贵的是,Clould Studio
不仅仅没有因为快捷方便而舍弃了一部分功能,还在拥有大多数 IDE 功能的前提下增加了很多功能。比如新增的 AI 代码助手,模板一键搭建等都是很方便的。
以往除了 vscode 之外,我们想要一个全能的编辑器是很难,而Clould Studio
就可以全能,什么语言它都兼容,而且写多个语言也不需要下载多个语言的编译器,就可以直接上手,为新手开发者和学生提供了很大的便利。
目前还没看到有缺点,是一款很优秀的软件,很适合入手。
版权声明: 本文为 InfoQ 作者【ベ布小禅】的原创文章。
原文链接:【http://xie.infoq.cn/article/fd7ce9e513a547c36c8f07b95】。文章转载请联系作者。
评论