似乎Boto是official Amazon API module for Python,並this one is for Tornado,所以這裏是我的問題:如何使用Boto獲得亞馬遜價格?
- 它不提供分頁(僅要求10的產品,因爲亞馬遜提供每頁10種產品,那麼我只想要得到的第一頁...),那麼怎麼樣(示例代碼?)
- 然後如何解析產品解析,我用python-amazon-simple-product-api,但可惜它不提供分頁,所以所有的報價不斷迭代。
似乎Boto是official Amazon API module for Python,並this one is for Tornado,所以這裏是我的問題:如何使用Boto獲得亞馬遜價格?
通常,分頁由客戶端請求api執行。要在博託完成這個工作,你需要切斷你的系統。舉例來說,假設你通過boto調用AWS,使用get_all_instances def;您需要以某種方式存儲這些內容,然後跟蹤哪些服務器已顯示,哪些不顯示。據我所知,boto沒有大多數開發人員用於MySQL的LIMIT功能。就個人而言,我掃描我的所有實例,並藏匿他們蒙戈像這樣:
for r in conn.get_all_instances(): # loop through all reservations
groups = [g.name for g in r.groups] # get a list of groups for this reservation
for x in r.instances: # loop through all instances with-in reservation
groups = ','.join(groups) # join the groups into a comma separated list
name = x.tags.get('Name',''); # get instance name from the 'Name' tag
new_record = { "tagname":name, "ip_address":x.private_ip_address,
"external_ip_nat":x.ip_address, "type":x.instance_type,
"state":x.state, "base_image":x.image_id, "placement":x.placement,
"public_ec2_dns":x.public_dns_name,
"launch_time":x.launch_time, "parent": ObjectId(account['_id'])}
new_record['groups'] = groups
systems_coll.update({'_id':x.id},{"$set":new_record},upsert=True)
error = db.error()
if error != None:
print "err:%s:" % str(error)
你也可以在try/catch塊包裝這些。由你決定。一旦你把他們從博託身上拿走,應該做一些小事來完成切割工作。
- Jess
哇!這是一個黑客; o 謝謝 –
請幫忙嗎? –