我第一次使用Python运行爬虫程序。我已经让爬虫程序工作了,现在我想用pymongo将结果保存在我的MongoDB中,但是由于某些原因,我得到了这个错误:“NameError:name'city'is not defined”。如果我用引号将城市括起来,它会像预期的那样工作,但我想保存它。有人做过类似的事情或者知道解决方法是什么吗
def gotHolidays(self, response):
cityName = response.meta['name']
feriado = []
facult = []
for selector in response.css("span.one"):
feriado.append(selector.css("::text").extract())
for selector in response.css("span.two"):
facult.append(selector.css("::text").extract())
city = {
'city': cityName,
'holidays':{
'facult': facult,
'feriado': feriado
}
}
print(json.dumps(city))
from pymongo import MongoClient
client = MongoClient()
client = MongoClient ('localhost', 27017)
db = client['myBank']
myCollection = db.myCollection
myCollection_data = {
'cities': city
}
result = myCollection.insert_one (myCollection_data)
缩进在代码段中看起来是错误的。 行
from pymongo import ...
应与前一行处于相同的缩进级别:对于python,缩进定义了范围。python将取消缩进的代码解释为“函数结束”。因此,当您尝试访问'city'变量时,它不再在范围内
相关问题 更多 >
编程相关推荐