我想使用REST请求访问flickr API,并下载约1百万张照片(可能更多)的元数据。我想将它们存储在一个.csv文件中,然后导入到MySQL数据库进行进一步处理。
我不确定如何处理这样大的数据。我不确定如何在Python中访问网站后将其存储到.csv文件中,再从那里存储到数据库中。这是一个大问题。
现在正在发生的事情(根据下面的代码理解)是为每个照片创建一个字典(每个URL调用250个)。这样,我会得到与照片数量相同的字典(1百万或更多)。这是否可能?所有这些字典都将附加到一个列表中。我可以将这么多字典附加到列表中吗?我希望将字典附加到列表中,因为从列表中逐行保存到.csv文件似乎更容易。
您应该知道,我完全是编程、Python或其他方面的初学者。我的职业是完全不同的,我刚开始学习。如果您需要任何进一步的解释,请告诉我!
我不确定如何处理这样大的数据。我不确定如何在Python中访问网站后将其存储到.csv文件中,再从那里存储到数据库中。这是一个大问题。
现在正在发生的事情(根据下面的代码理解)是为每个照片创建一个字典(每个URL调用250个)。这样,我会得到与照片数量相同的字典(1百万或更多)。这是否可能?所有这些字典都将附加到一个列表中。我可以将这么多字典附加到列表中吗?我希望将字典附加到列表中,因为从列表中逐行保存到.csv文件似乎更容易。
您应该知道,我完全是编程、Python或其他方面的初学者。我的职业是完全不同的,我刚开始学习。如果您需要任何进一步的解释,请告诉我!
#accessing website
list = []
url = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=5...1b&per_page=250&accuracy=1&has_geo=1&extras=geo,tags,views,description"
soup = BeautifulSoup(urlopen(url)) #soup it up
for data in soup.find_all('photo'):
dict = {
"id": data.get('id'),
"title": data.get('title'),
"tags": data.get('tags'),
"latitude": data.get('latitude'),
"longitude": data.get('longitude'),
}
print (dict)
list.append(dict)
我正在使用Python 3.3进行工作。我没有直接将数据传递到数据库的原因是,我无法在我的OS X 10.6上运行MySQL数据库的Python连接器。
非常感谢您的帮助。 感谢大家!