我开始编写Scrapy个项目(网页抓蜘蛛)。 Scrapy使用管道在处理后处理项目,我将使用它将已删除的字符串转换为目标类型,然后再将其写入sqlalchemy数据库。
使用代码为变量名称加前缀以识别这些变量注定要变成什么是常规的吗?
例如,我在项目键前加上" date _"对于约会," str _"对于字符串," fl _"浮动。然后,我会这样处理它们:
import re, datetime
item = {'fl_quantity':'23.04','fl_amount':'425.00 USD','date_invoice':'2014-05-28','date_period':'N/A'}
for key in item:
if key.startswith("date_"):
try:
item[key] = datetime.datetime.strptime(item[key],"%Y-%m-%d").date()
except:
item[key] = None
elif key.startswith("fl_"):
try:
item[key] = float(re.search("\d+(\.\d+)?",item[key]).group(0))
except:
item[key] = None
>>>print item
{'fl_amount': 425.0, 'fl_quantity': 23.04, 'date_period': None, 'date_invoice': datetime.date(2014, 5, 28)}
这被认为是好的做法吗?有没有更好的方法来实现这一目标?