scrapy 持久化存储(以糗事百科为例)
前言
不知道大家还记得爬虫万能的三步骤吗?没错,那就是指定URL,发送请求,持久化保存数据。
我们前面在 scrapy框架(1)中简单了解了使用 scrapy 指定URL和发送请求,那么我们又要怎么使用 scrapy 实现数据的持久化存储呢?
scrapy 框架实现数据持久化存储的方法有两种,一种是基于终端命令的持久化存储;一种是基于管道的持久化存储。
基于终端指令的持久化存储
首先我们先创建相应的 scrapy 文件,用我们学过的方法完成指定URL和请求发送的步骤。
相关步骤如下
scrapy 指定URL,发送指令的文件和代码如下:
配置文件 setting.py
主代码 saveData.py
import scrapy
class SavedataSpider(scrapy.Spider):
name = 'saveData'
# allowed_domains = ['www.xxx.com']
start_urls = ['https://www.qiushibaike.com/text/']
def parse(self, response):
# xpath 解析。作者的列表
author_list = response.xpath('//div[@class="col1 old-style-col1"]/div/div[1]/a[1]/img/@alt').extract() # 返回一个列表
# print(author_list)
for i in range(len(author_list)):
path = '//div[@class="col1 old-style-col1"]/div[%s]/a[1]/div/span//text()' % str(i+1)
content = response.xpath(path).extract()
content = "".join(content)