scrapy爬取数据写入json,csv,txt

最近上web课,有一门就是scrapy爬虫写入txt文件,自己也是找了很多种方法,最终实现

写入json或者csv

执行爬虫文件时添加  -o spidername.csv或者-o spidername.json

spider那么是你创建的爬虫的名字

json文件可能会出现乱码,在setting.js文件中设置编码格式即可

FEED_EXPORT_ENCODING='utf-8'

from scrapy import cmdline

cmdline.execute('scrapy crawl txms -o txms.csv'.split())

写入txt

 

首先设置setting.py文件,把遵循robots协议改为False

ROBOTSTXT_OBEY = False

然后再把ITEM_PIPELINES前边的注释取消掉

ITEM_PIPELINES = {
    'TXmovies.pipelines.TxmoviesPipeline': 300,
}

然后在pipeline.py中进行数据的处理


class TxmoviesPipeline:
    def open_spider(self, spider):
        self.file = open('txms.txt', 'w',encoding = 'utf-8')#encoding = 'utf-8'制定编码格式
        #爬虫开始运行时执行,创建文件并打开

    def close_spider(self, spider):
        self.file.close()
        #爬虫运行结束时关闭txt文件的写入

    def process_item(self, item, spider):
        try:
            res=dict(item)#将item转化为字典类型
            
            line=res['name']#参照你item里边获取的数据名字
            row=res['description']#参照你item里边获取的数据名字
            self.file.write(line+'\t'+row+'\n')  #写入文件
          
            print(item)#调试区输出爬取结果
            return item
        except:
            pass
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

return you

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值