Scrapy可以成功爬取数据,但存储数据的json文件为空(巨坑!!!)

这两天初学Scrapy用来爬虫网页上的数据,写了一个爬虫发现我可以成功地爬到数据,但是存储为json数据或者json lines数据时一直为空文件,也不知道怎么回事,各种搜索资料,有的说是没配置好pipelines文件,有的说是没配置好settings文件,检查我的这两个文件,感觉不像是这两个文件的问题,才发现了一个巨坑的问题(由于yield关键字之前只是见过但没使用过所以也是这两天才学习的,可能才造成了这个问题。。。):
下面这个是有问题的代码,一直存储不了数据。。。

    def parse(self, response):
        for stock in response.css("div#ctl00_cph1_divSymbols table.quotes tr")[1:]:  #不处理第一个tr
            yield
            {
                'code':stock.css("td a::text").get(),
                'name':stock.css("td")[1].css("::text").get()
            }

下面是正确运行的代码:

    def parse(self, response):
        for stock in response.css("div#ctl00_cph1_divSymbols table.quotes tr")[1:]:  #不处理第一个tr
            yield{
                'code':stock.css("td a::text").get(),
                'name':stock.css("td")[1].css("::text").get()
            }

对比一下,可以发现就是yield的第一个花括号位置不同的问题。。。找了一两个小时的bug做梦都没想到是花括号的问题。
如果有小伙伴和我一样的问题,那么下次一定不要随便放花括号了【气哭 😦😦,下次一定不会乱放花括号了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值