最简单的豆瓣电影排行爬虫 萌新都可以看懂
Posted chen-jack
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最简单的豆瓣电影排行爬虫 萌新都可以看懂相关的知识,希望对你有一定的参考价值。
1.获取都判电影排行榜请求地址:
上图中url中的 type是爱情片对应的type编码,start=0,limite=1,表示排行显示从第一条开始且只显示一条排行内容
一条电影item的内容如下:
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.查询显示结果如下:
以上是关于最简单的豆瓣电影排行爬虫 萌新都可以看懂的主要内容,如果未能解决你的问题,请参考以下文章
Python爬虫编程思想(87):项目实战--抓取豆瓣电影排行榜
Python爬虫编程思想(87):项目实战--抓取豆瓣电影排行榜
用Scrapy爬虫爬取豆瓣电影排行榜数据,存储到Mongodb数据库