经过一天多时间在wiki上将scrapy官方的翻译版快速读了一遍,对scrapy有了一个大概的了解和熟悉。下面做一个快速总结:
1.创建项目:
scrapy startproject tutorial
cd tutorial #进入刚刚创建的文件夹内
scrapy genspider 文件名 网站网址 #创建完成
2.编写Item
Item 是保存爬取到的数据的容器;其使用方法和 python 字典类似, 并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。如果item里未定义,spider所爬的数据是无法从传入进去的。
3.编写爬虫
Spider 是用户编写用于从单个网站(或者一些网站)爬取数据的类。其包含了一个用于下载的初始 URL,如何跟进网页中的链接以及如何分析页面中的内容, 提取生成item的方法。为了创建一个 Spider,您必须继承scrapy.Spider类, 且定义以下三个属性:
name: 用于区别 Spider。 该名字必须是唯一的,您不可以为不同的 Spider 设定相同的名字。
start_urls: 包含了 Spider 在启动时进行爬取的 url 列表。 因此,第一个被获取到的页面将是其中之一。 后续的 URL 则从初始的 URL 获取到的数据中提取。
parse()是 spider 的一个方法。 被调用时,每个初始 URL 完成下载后生成的Response对象将会作为唯一的参数传递给该函数。 该方法负责解析返回的数据(response data),提取数据(生成 item)以及生成需要进一步处理的 URL 的 `Request 对象。