TypeError: Object of type 'date' is not JSON serializable

来源:-14 数据表设计和保存item到json文件

蜗牛快跑__

2018-09-30

图片描述
报错信息如下:
2018-09-30 06:01:02 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://blog.jobbole.com/114402/> (referer: http://blog.jobbole.com/all-posts/)
2018-09-30 06:01:02 [scrapy.core.scraper] ERROR: Error processing {‘comment_nums’: 0,
‘content’: ‘

\r\n’
’\r\n’
’ \t\t\t
\n’
’\t\t\r\n’
’\t\t

<img ‘
‘src=“http://jbcdn2.b0.upaiyun.com/2018/09/79b16e91c471e8bea71d95f93e72fb22.png”>

\n’

Vim 作为一款功能强大、选项丰富的编辑器,为许多用户所热爱。本文介绍了一些在 ‘
Vim 中默认未启用但实际非常有用的选项。虽然可以在每个 Vim

‘id=“crayon-5baff5757a514507910490-1”>set ‘
’\t\t

\r\n’
’\r\n’
‘style=“font-size: 13px !important;height: 19.5px !important; '
'crayon-popup-button” title=“在新窗口中显示代码”><div ‘
’\r\n’
’\r\n’
’\t’,
‘create_date’: datetime.date(2018, 9, 24),
‘fav_nums’: 1,
‘front_image_url’: [‘http://jbcdn2.b0.upaiyun.com/2018/09/79b16e91c471e8bea71d95f93e72fb22.png’],
‘praise_nums’: 1,
‘tags’: ‘IT技术,Linux,Vim’,
‘title’: [‘增强 Vim 编辑器,提高编辑效率’],
‘url’: ‘http://blog.jobbole.com/114402/’,
‘url_object_id’: ‘aa112e008afb6e99ef8575cc8a8ef465’}
Traceback (most recent call last):
File “E:\virtualenv\jobbole_spider_2\lib\site-packages\twisted\internet\defer.py”, line 654, in runCallbacks
current.result = callback(current.result, *args, **kw)
File “E:/mycode/python/projects/JobboleSpider\JobboleSpider\pipelines.py”, line 23, in process_item
lines = json.dumps(dict(item), ensure_ascii=False) + "\n"
File "E:\anaconda3\Lib\json_init
.py", line 238, in dumps
**kw).encode(obj)
File “E:\anaconda3\Lib\json\encoder.py”, line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File “E:\anaconda3\Lib\json\encoder.py”, line 257, in iterencode
return _iterencode(o, 0)
File “E:\anaconda3\Lib\json\encoder.py”, line 180, in default
o.class.name)
TypeError: Object of type ‘date’ is not JSON serializable

写回答

1回答

bobby

2018-09-30

//img.mukewang.com/szimg/5bb06dc300017f2e05180039.jpg 你的dict中包含date类型, 这种类型是无法使用json.dumps直接序列化的  https://stackoverflow.com/questions/11875770/how-to-overcome-datetime-datetime-not-json-serializable 你可以参考一下这篇文章

0
0

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5818 学习 · 6291 问题

查看课程