在上一篇文章中我们介绍了使用scrapy shell交互式地获取Web页面的标题信息,这篇文章继续以这个简单的示例来介绍在Scrapy框架下爬虫应用程序的使用方法。
爬虫示例代码
liumiaocn:scrapy liumiao$ ls
myspider.py
liumiaocn:scrapy liumiao$ cat myspider.py
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['https://scrapy.org/']
def parse(self, response):
for title in response.css('title'):
yield {'title': title.get()}
liumiaocn:scrapy liumiao$
代码非常简单,就是获取https://scrapy.org/的标题信息,yield是python的用法,css提取是HTML的基础,需要注意的只有两点
- import scrapy之后指定scrapy.Spider
- 提取数据的函数名称为parse,这是缺省的约定
创建工程 vs 自包含方式
一般来说使用Scrapy框架需要创建工程,然后在工程中创建爬虫实例并运行,在后续的文章中将会进一步地进行说明。但是Scrapy还提供了一种简化的(自包含)方式