python获取豆瓣电影

本文介绍了如何使用Python通过requests库获取豆瓣电影的JSON数据,特别是利用递归爬取多页电影信息。首先,找到实际数据所在的URL,然后解析JSON获取'subjects'中的电影列表,保存所需信息。每页加载更多时,URL的计数器加20,以此实现对后续页面的爬取。这种方法同样适用于豆瓣电影的其他类别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开豆瓣,点击选电影
在这里插入图片描述
到这里你会发现很简单,直接用xpath不久很容易获取到电影名及评分了吗。其实我们看到的页面是经js渲染过的,真正数据的网页在⬇
在这里插入图片描述
当你点击加载更多时,会发现这个网址的前部分不变,0变成20。
我们先来获取热门这一类。
用requests获取到的是json格式的数据,也就是python中的字典。
获取‘subjects’对应的值,是一个包含电影信息的列表。
遍历列表,即可获取对应的影片信息,择需保存。
完成一页后,判断这一页是否获取到信息。若有,则继续下一页获取。
获取方式,增加20计数器,递归自身。

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


def download():
    url = base_url + str(count)
    result = requests.get(url=url, headers=header)
    result_json = json.loads(result.text)['subjects']
    print(result_json)
    for item in result_json:
        film_name = item['title']
        rate = item['rate']
        url = item['url']
        content = '影片名:' + film_name + '\n豆瓣评分:' + rate + '\n网址:' + url + '\n\n'
        with open('豆瓣电影/' +
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值