基于豆瓣电影API爬取城市正在热映电影评分

基于豆瓣电影API爬取城市正在热映电影评分
       开场白:学python已月余,今发一blog以做纪念,仿照前人+自我创造得此project,非专业又才疏学浅,纰漏在所难免,望大佬斧正,感激不尽,语法虽鄙,实为可行,能跑的马即好马,爬虫由来?一方面作为掌握新知识的实践,另一方面救我小命(每周末因为不知道看什么电影而被媳妇摧残~~~~oh no,别赞~~~要脸),现将详尽一一道来。
 工具:
 python3.6
 sublimetext3
 Firefox
准备:
 因爬取内容较少,未注册开发者账户
 登录豆瓣电影API找到正在热映榜单,确定URL,确定需调用参数
基于豆瓣电影API爬取城市正在热映电影评分
  输入URL查看结果
基于豆瓣电影API爬取城市正在热映电影评分




 编写代码正确调用API,查看返回结果,提取关注的属性信息,如title、score、、genres、protagonist等等。
 本地存储需要的数据,新建文件或数据库


代码及结果如下:



基于豆瓣电影API爬取城市正在热映电影评分

如有需要拿走不谢:
import json
import requests as rs

#豆瓣电影正在热映URL
url = 'https://api.douban.com/v2/movie/in_theaters'

#设置请求参数,城市,计数
params = {
    'city':'北京',
    'count':'100',
    }
#方法get()请求API,方法json()解析结果    
result = rs.get(url,params).json()
total = result['total']
print('正在上映电影总数: ' + str(total))
#创建存储title和score的空列表
in_theaters = []

#提取title及score,方法append()添加title及score到in_theaters列表
for i in range(total):
    title = result['subjects'][i]['title']
    score = result['subjects'][i]['rating']['average']
    genres = result['subjects'][i]['genres']
    name = result['subjects'][i]['casts'][0]['name']
    in_theaters.append((title,score,genres,name))
    #按电影分数从高到底排序
    in_theaters.sort(key=lambda score:score[1],reverse=True)
#热映电影总数写入文件
with open('in_theaters_movie.txt','a') as of:
    of.write('正在上映电影总数: {}'.format(total))
#提取title及score,追加写入文件
for title,score,genres,name in in_theaters:
print(title + ': ' + str(score) + '\n\t体裁: ' + str(genres) +'\n\t主演: ' + name)


总结:
 你觉得自己写的好不好啊?吼啊!读者也支持吗?当然啦