Scrapy可以成功爬取数据,但存储数据的json文件为空(巨坑!!!)
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/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做梦都没想到是花括号的问题。
如果有小伙伴和我一样的问题,那么下次一定不要随便放花括号了【气哭 😦😦,下次一定不会乱放花括号了
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:2 个月前 )
960b763e
4 个月前
8c391e04
7 个月前
更多推荐
已为社区贡献4条内容
所有评论(0)