Scrapy框架的安装及使用
步骤1、环境准备
右击Ubuntu操作系统桌面,从弹出菜单中选择【Open in Terminal】命令 打开终端。
通过【cd /home】切换到home目录下。【ls】查看该目录下的所有内容。
【mkdir scrapy】在home目录下创建scrapy文件夹。
步骤2、Scrapy安装
【pip install scrapy】安装爬虫框架Scrapy,(该框架虚拟机已安装,无需执行,制作参考)
【Scrapy】已安装成功,版本为1.5
步骤3、Scrapy操作
在开始爬取之前,必须创建一个新的scrapy项目
【cd scrapy】切换至scrapy的目录
【scrapy startproject movie】创建scrapy项目,名为movie.
【tree】查看项目结构
scrapy.cfg 项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py文件中)
items.py 设置数据存储模板,用于结构化数据,如:Django的Model
pipelines 数据处理行为,如:一般结构化的数据持久化
settings.py 配置文件,如:递归的层数、并发数,延迟下载等
spiders 爬虫目录,如:创建文件,编写爬虫规则
定义要抓取的数据
Item 是保存爬取到的数据的容器;其使用方法和python字典类似, 并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。
【vim item.py】编辑item文件。
回车后按【i】进入编辑状态。编辑信息如下。获取电影名字。
编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框。
【cd spider】进入spider目录,【vim meiju.py】回车后创建并编辑meiju文件。
回车后按【i】进入编辑状态,编辑如下信息。
Spider是用户编写用于从单个网站(或者一些网站)爬取数据的类。
其包含了一个用于下载的初始URL,如何跟进网页中的链接以及如何分析页面中的内容, 提取生成 item 的方法。
为了创建一个Spider,您必须继承 scrapy.Spider 类,且定义以下三个属性:
name: 用于区别Spider。 该名字必须是唯一的,您不可以为不同的Spider设定相同的名字。
start_urls: 包含了Spider在启动时进行爬取的url列表。 因此,第一个被获取到的页面将是其中之一。 后续的URL则从初始的URL获取到的数据中提取。
parse() 是spider的一个方法。 被调用时,每个初始URL完成下载后生成的 Response 对象将会作为唯一的参数传递给该函数。 该方法负责解析返回的数据(response data),提取数据(生成item)以及生成需要进一步处理的URL的 Request 对象。
【cd ../..】切换项目的目录。【scrapy crawl meiju】运行该项目
根据打印的信息判断请求成功。
在浏览器中输入URL,根据判断得知。
【//ul[@class=”top-list fn-clear”]/li】所有的电影信息
【./h5/a/@title】电影的名称
再次编辑meiju文件。
修改程序如下。通过选择器(Selectors)用XPath来提取数据
编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框。
【cd ..】切换上级目录。
【vim settings.py】编辑文件,设置下载的数量。
回车后按【i】进入编辑状态。编辑信息如下。获取电影名字。(只需在文件中找到该行,取消掉注释修改大小即可,)
编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框。
【vim pipelines.py】编辑pipelines.py文件。
回车后按【i】进入编辑状态。编辑信息如下。将电影名字数据写入txt文件中。
编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框。
【cd ..】切换至上级目录。
【scrapy crawl meiju】运行项目进行爬取
【ls】查看该目录下生成一个movies.txt文件。
【cat movies.txt】爬取到前100个电影名字。