- 帖子
- 1
- 精华
- 0
- 积分
- 40
- 阅读权限
- 10
- 注册时间
- 2016-9-12
- 最后登录
- 2016-10-14
|
先生,麻烦问一个问题
像前边有位同学说的有几部电影的ID是找不到的,我用了try except语句来处理这种异常
def add_movie(data):
# print data
movie = json.loads(data)
# print movie
try:
db.insert('movie',
id=int(movie['id']),
title=movie['title'],
origin=movie['original_title'],
url=movie['alt'],
rating=movie['rating']['average'],
image=movie['images']['large'],
directors=','.join([d['name'] for d in movie['directors']]),
casts=','.join([c['name'] for c in movie['casts']]),
year=movie['year'],
genres=','.join(movie['genres']),
countries=','.join(movie['countries']),
summary=movie['summary'],
)
print movie['title']
except:
print 'ID is not found'
但是这样出现了一个问题,每次搜索到那个ID找不到的电影的,程序就会从第一部电影开始搜索,这样导致table movie的数据库有很多重复的电影
应该怎么解决,其实应该是在
下边的:
count = 0
for mid in movie_ids:
# print count, mid
response = urllib.urlopen('http://api.douban.com/v2/movie/subject/%s' % mid)
data = response.read()
add_movie(data)
count += 1
time.sleep(3)
加入某些语句,就是遇到ID找不到的电影,直接跳过,开始接下来的搜索,而不是重新开始,但是具体要添加什么语句,望指教,多谢了
|
|