继续写API获取豆瓣电影前250的程序。
链接:https://api.douban.com/v2/movie/top250
打开链接后,是编译过的json数据,借助json格式化工具可以让json数据的结构更加清晰:
data_for_json是字典类型,包括count,start,totle,subjects,title五个键,其中subjects中包含需要的电影信息
下图中的红色框内才是需要的电影信息数据:
成功得到第一页中的20部电影:
通过构造链接,改变start和count的值,可以控制获取的电影部数,例如start=241,count=10时,可以得到排名241-250名的电影:
导入random模块,产生1-250的随机数,从中选取一个,并设置范围为10,打印随机数周边的10部电影:
然后把程序整理成class MoviesInformation,可导入,然后调用:
命名规范要求,普通函数的命名和普通变量相同,也就是:小写加下划线连接。修改之后,
现在可以导入自定义模块了。import Watch
成功实现随机推荐一个豆瓣排名前250的电影。
然而,缺少一个获得电影简介的功能,先通过得到电影的id,构造出summary的网址,然后和上面一样打开网址,获得json数据,然后取出自己需要的summary数据:
注意:
模块名:
小写字母,单词之间用_分割
ad_stats.py
包名:
和模块名一样
类名:
单词首字母大写
AdStats
ConfigUtil
全局变量名(类变量,在java中相当于static变量):
大写字母,单词之间用_分割
NUMBER
COLOR_WRITE
普通变量:
小写字母,单词之间用_分割
this_is_a_var
实例变量:
以_开头,其他和普通变量一样
_price
_instance_var
私有实例变量(外部访问会报错):
以__开头(2个下划线),其他和普通变量一样
__private_var
专有变量:
__开头,__结尾,一般为python的自有变量,不要以这种方式命名
__doc__
__class__
普通函数:
和普通变量一样:
get_name()
count_number()
ad_stat()
私有函数(外部访问会报错):
以__开头(2个下划线),其他和普通函数一样
__get_name()