【发布时间】:2016-03-16 19:24:33
【问题描述】:
我创建了一个管道将抓取数据放入我的 Parse 后端
解析 = 'api.parse.com' 端口 = 443
但是,我找不到在 Parse 中发布数据的正确方法。因为每次它都会在我的 Parse DB 中创建未定义的对象。
class Newscrawlbotv01Pipeline(object):
def process_item(self, item, spider):
for data in item:
if not data:
raise DropItem("Missing data!")
connection = httplib.HTTPSConnection(
settings['PARSE'],
settings['PORT']
)
connection.connect()
connection.request('POST', '/1/classes/articlulos', json.dumps({item}), {
"X-Parse-Application-Id": "XXXXXXXXXXXXXXXX",
"X-Parse-REST-API-Key": "XXXXXXXXXXXXXXXXXXX",
"Content-Type": "application/json"
})
log.msg("Question added to PARSE !", level=log.DEBUG, spider=spider)
return item
错误示例:
TypeError: set([{'image': 'http://apps.site.lefigaro.fr/sites/apps/files/styles/large/public/thumbnails/image/sport24.png?itok=caKsKUzV',
'language': 'FR',
'publishedDate': datetime.datetime(2016, 3, 16, 21, 53, 10, 289000),
'publisher': 'Le Figaro Sport',
'theme': 'Sport',
'title': u'Pogba aurait rencontr\xe9 les dirigeants du PSG',
'url': u'sport24.lefigaro.fr/football/ligue-des-champions/fil-info/prolongation-entre-le-bayern-et-la-juve-796778'}]) is not JSON serializable
【问题讨论】:
-
您的日志显示
connection.request('POST', '/1/classes/articlulos', json.dumps({data}), {,而您的代码为connection.request('POST', '/1/classes/articlulos', json.dumps({item}), {,您是否给出了不好的例子? -
哦,是的,对不起,当 connection.request('POST', '/1/classes/articlulos', json.dumps({item}), { 是 ({data})
-
你能更新你的问题吗? (编辑)
标签: python parse-platform scrapy scrapy-pipeline