python爬取豆瓣电影图片并生成评分柱状图

博主在学习python爬虫后,实现了一个爬取豆瓣电影评分并形成柱状图,并下载电影海报,实现效果如图所示
请添加图片描述

请添加图片描述
python爬取电影信息需要按此步骤
模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于数据库或文件中
首先需要分析获取数据的url
请添加图片描述
此时打开其headers请添加图片描述
访问这个url

https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=0

请添加图片描述
网上都是分析其起始页的方式循环访问,这种方式较为麻烦,我们可以修改其每页条数
请添加图片描述
至此,访问的url便获取成功了

接下来便是编写代码来访问了

def get_data():
    url = 'https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=330&page_start=0'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36'
    }
    json_data = requests.get(url,headers = headers)
    print(json_data.content)
    print(json_data.text)
    data = json_data.text
    json_data = json.loads(data)#将数据转化为字典
    subjects = json_data['subjects']
    result = []
    for movie in subjects:
        row = {
            'movie_rate': movie['rate'],
            'movie_name': movie['title'],
            'movie_url' : movie['url'],
            'movie_img': movie['cover']
        }
        result.append(row)
    return result

调用获取数据,进行图片下载,图片命名为电影名称.jpg

data=get_data()
for x in data[0:20]:
    r = requests.get(x['movie_img'])
    with open('./images/'+x['movie_name']+'.jpg', 'wb') as f:#with是处理异常
        f.write(r.content)

引入刚刚的test模块,使用pyechart来进行数据视图显示

from pyecharts import Bar
import test
data=test.get_data()
columns=[]
data1=[]
for x in data[0:14]:#数据太多,只截取14条即可
	columns.append(x['movie_name'])
	data1.append(x['movie_rate'])
print(columns)
bar = Bar("柱状图", "影片评分")
bar.add('评分',columns, data1,is_stack=True)
bar.render()#默认生成render.html

至此,我们通过python爬取的数据的过程便完成了,通过我们爬取的数据我们可以做数据分析,或者将数据信息保存到我们的数据库,文件中供我们使用。

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭祥.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值