1.獲取都判電影排行榜請求地址:html
上圖中url中的 type是愛情片對應的type編碼,start=0,limite=1,表示排行顯示從第一條開始且只顯示一條排行內容json
一條電影item的內容以下:post
rating : ['9.2', '50']
rank : 3
cover_url : https://img3.doubanio.com/view/photo/s_ratio_poster/public/p647099823.jpg
is_playable : True
id : 1295399
types : ['動做', '冒險', '劇情']
regions : ['日本']
title : 七武士
url : https://movie.douban.com/subject/1295399/
release_date : 1954-04-26
actor_count : 20
vote_count : 106162
score : 9.2
actors : ['三船敏郎', '志村喬', '稻葉義男', '宮口精二', '千秋實', '加東大介', '木村功', '本間文子', '小杉義男', '高木新 平', '中島春雄', '小川虎之助', '東野英治郎', '土屋嘉男', '高堂國典', '津島惠子', '藤原釜足', '仲代達矢', '左卜全', '馬野都留子']
is_watched : False動畫
2.根據1中的url直接編寫get請求,用到了requests庫和json庫,直接上代碼:編碼
import requests import json #豆瓣電影類型對應的編碼 type_dict={ "劇情":11, "喜劇":24, "動做":5, "愛情":13, "科幻":17, "動畫":25, "懸疑":10, "驚悚":19, "紀錄片":1, "短片":23, "情色":6, "同性":26, "音樂":14, "歌舞":7, "家庭":28, "兒童":8, "傳記":2, "歷史":4, "戰爭":22, "犯罪":3, "西部":27, "奇幻":16, "冒險":15, "災難":12, "武俠":29, "古裝":30, "運動":18, "黑色電影":31 } #默認顯示100排名 def get_ranking(type_num,size=100): r= requests.get("https://movie.douban.com/j/chart/top_list?type={}&interval_id=100%3A90&action=&start=0&limit={}".format(type_num,size)) html = r.text #返回的內容直接是json形式的字符串,用json庫進行解析 print(r.status_code) #直接用json解析 result=json.loads(html) for i in range(len(result)): movie_item=result[i] print("rank:",movie_item["rank"]," 電影名字:",movie_item["title"]) i="" while(i!="q"): i=input("請輸入查看排行的電影類型(按q退出):") print("查看的電影爲:",i," type_num:",type_dict[i]) get_ranking(type_dict[i]) print("---------------------------------------")
3.查詢顯示結果以下:url