python爬虫之基于终端指令的持久化存储

python爬虫之基于终端指令的持久化存储

scrapy持久化存储
基于终端指令:
1、要求:只可以将parse方法的返回值存储到本地的文本文件中
2、注意:持久化存储对应的文本文件类型只可以为:‘json’, ‘jsonlines’, ‘jsonl’, ‘jl’, ‘csv’, ‘xml’, ‘marshal’, ‘pickle’
3、指令:scrapy crawl xxx -o filePath
4、好处:简洁高效便捷
5、缺点:局限性比较强(数据只可以存储到指定后缀的文本文件中)
代码如下:

import scrapy


class QiushiSpider(scrapy.Spider):
    name = "qiushi"
    # allowed_domains = ["www.xxx.com"]
    start_urls = ["https://www.qiushile.com/duanzi/"]
    def parse(self, response):
        #解析:段子标题+段子内容
        li_list = response.xpath('//*[@id="ct"]/div[1]/div[2]/ul')
        all_data = []
        for li in li_list:
            #xpath返回的是列表,但是列表元素一定是Selector类型的对象
            #extract可以将Selector对象中data参数存储的字符串提取出来
            # title = li.xpath('./li/div[2]/div[1]/a/text()')[0].extract()
            title = li.xpath('./li/div[2]/div[1]/a/text()').extract_first()
            #列表调用了extract之后,则表示将列表中每一个Selector对象中data对应的字符串提取了出来
            content = li.xpath('./li/div[2]/div[2]//text()')[0].extract()

            dic = {
                'title':title,
                'content':content
            }
            all_data.append(dic)
            # print(title,content)


存储指令如下:

scrapy crawl qiushi -o ./qiushi.csv
  • 16
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值