scrapy框架爬取古诗文网的名句

本文介绍了如何利用Scrapy框架抓取古诗文网站的名句及其出处。重点讨论了items.py中数据模型的定义,pipelines.py中JsonItemExporter和JsonLinesExporter两种数据存储方式的优缺点,以及settings.py中的配置信息和gswspider.py爬虫文件的编写。针对网站限制,解释了爬取20页内容的解决方案。
摘要由CSDN通过智能技术生成

使用scrapy框架爬取名句,在这里只爬取的了名句和出处两个字段。具体解析如下:
items.py 用来存放爬虫爬取下来的数据模型,代码如下:

import scrapy

class QsbkItem(scrapy.Item):
    content = scrapy.Field()
    auth = scrapy.Field()

piplines.py 将items的模型存储到json格式的文件中,有两种方法JsonItemExporter和JsonLinesExporter

1.JsonItemExporter,这个是每次把数据添加到内存中,最后统一写入到磁盘中,好处是,存储的数据是一个满足json规则的数据,坏处是如果数据量比较大,会比较的耗费内存

2.JsonLinesItemExporter这个是每次调用export_item的时候就把这个数据存储到硬盘中,坏处是每一个字典是一行,整个文件是一个满足json格式的文件,好处是每次从处理数据的时候就直接存储到了硬盘中,这样不会对内存造成压力,数据比较安全

# 数据量多的时候写入,按行写入
from scrapy.exporters import JsonLinesItemExporter

class QsbkPipeline(object):
    def __init__(self):
        self.fp = open('mj.json', 'wb')
        self.exporter = JsonLinesItemExporter(self.fp, ensure_ascii=False, encoding="utf-8")

    def open_spider(self, spider):
 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值