【发布时间】:2015-04-12 19:19:55
【问题描述】:
我在使用strptime 尝试将从网站提取的字符串转换为日期格式时收到错误消息。我必须将提取的文本数据转换为我已经完成的字符串,但我收到一条错误消息:
exceptions.ValueError: time data 'Sat 18th Apr 2015' does not match format '%a %d %b'.
我检查了文档,我认为我的参数是正确的。我真的很想将这些信息以YYYY,MM,DD 格式保存到数据库中。
这就是我尝试解决问题的方法
item ['date'] = info.xpath('.//span[@class="dates"]//text()').extract() # Extract date information.
convert = ''.join(str(t)for t in item['date'])+" 2015"
print convert
time.strptime(convert, "%a %dth %b %Y")
像这样插入数据库...
def process_item(self, item, spider):
try:
self.cursor.execute("INSERT INTO info (venue, datez, dateForm, link, genre) VALUES (%s, %s, %s, %s, %s)", (item['artist'][0], item['date'][0], item['dateForm'][0], item['trackz'], "clubbing"))
self.conn.commit()
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
return item
【问题讨论】:
-
%d不支持序数,去掉那里的th。 -
年份从何而来?
-
抱歉,忘记写年份了...
-
关于摆脱序数的任何提示?
-
另外,有没有办法让它忽略“星期六”?
标签: python mysql scrapy strptime