首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python爬虫Scrapy入门篇

前言

好久没有更新过了啊…请原谅我……

话不多说,进入正题!因为Python简单灵活的特点,一直是写爬虫的热门语言,我之前也分享过几篇简单的爬虫例子和教程了,今天来说一说爬虫框架Scrapy。

Scrapy是一款简单高效的Python网络爬虫框架,使用框架,我们就可以只关注数据的提取而不用去自己造轮子了。其实,对于这个框架,我也是个新手…这里,就用我们学校的图书馆系统做个简单的入门项目了。

安装

先说一下我的Python是3.6版本的,电脑是win10。

Scrapy也可以直接用使用命令安装:

因为Scrapy依赖了其他一些包,所以会额外安装一些库,如、和等,这在文档也有提到。我在安装这些库时有遇到一个问题,报了下面这个错误:

可以看到是安装出的问题,解决方法是在 这里 下载对应版本的whl包,我的是,后面是Python版本,表示位数,我的Python是32位的。

然后切换到下载目录运行以下命令:

然后再安装Scrapy就可以了。你会看到:

创建项目

切换到你想放这个项目的目录,执行创建一个项目,如:

生成的项目结构是这样的:

目录用于放置我们的爬虫,用于定义我们要获取的数据,定义存储,顾名思义就是配置文件了。

编写代码

第一步我们先定义要存储什么字段,这里就定义书名、作者和索引号吧,编写:

接下来我们在目录下编写爬虫文件,我这里新建一个文件,代码如下:

这个类继承,需要指定,它是运行爬虫用的,是要爬取的url列表,函数接收获取到的解析用的是scrapy自带的,这个网页的结构很简单,所以就不多解释了。总之,就是遍历每一本书的信息,然后存在中。这些信息在之前的item中已经定义了。

代码的编写到这里就结束了,接下来就可以运行了。

运行代码

要运行代码,切换到项目的目录里,执行下面的命令,其中就是上面的,就是生成的json文件:

开始运行时,出现了一个问题,就是没报错,但没有结果,输出一片空白,然后发现下面的提示:

这是因为要获取的页面在robots中被禁止了,所以Scrapy自动忽略了,只需修改将:改为就行了。

后来又遇到了乱码的问题,输出全是这种字符,只要在加上就可以。

没报错执行完上面的命令之后就会在根目录生成一个文件,打开,就会看到保存下来的json格式图书信息:

我们的Scrapy入门项目就完成了!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180210G0HB9400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券