豆瓣电影报错

来源:5-7 【实战】豆瓣网:获取下滑加载的翻页数据

_一号

2023-03-21

图片描述

在运行的时候偶尔会报错,偶尔有正常,偶尔一开始正常后面就报错了,这是什么原因?
图片描述

写回答

2回答

979811597

2023-04-01

def parse(url, params):
    res = requests.get(url, headers=headers, params=params, proxies=proxies)
    # print(json.dumps(res.json(), ensure_ascii=False,indent=4))
    try:
        if len(res.json()) == 0:
            return

        for item in res.json():
            data = {
                "title": item["title"],
                "release_date": item["release_date"],
                "cover_url": item["cover_url"],
                "url": item["url"],
                "score": item["score"],
                "types": item["types"],
                "rank": item["rank"],
                "actors": item["actors"],
                "regions": item["regions"],
                "actor_count": item["actor_count"],
                "vote_count": item["vote_count"]
            }
            res = col.insert_one(data)
            print(res.inserted_id)

        params_next = {
            'type': "11",
            'interval_id': '100:90',
            'action': "",
            'start': str(int(params["start"]) + 20),
            'limit': "20"
        }
        parse(url, params_next)
    except:
        print("this data is empty")
        parse(url, params_next)


json.loads() 方法无法解析一个 JSON 字符串。该错误消息表明该 JSON 字符串是空的或者格式不正确,没有包含一个有效的 JSON 对象。当有部分需要获取的数据,没有及时加载出来时,就会报错。我也遇到了同样的错误,可以增加try-except增加程序的健壮性,这样虽然会有部分数据丢失,但是程序可以正常执行下去。

0
0

Martin__Wang

2023-03-23

把你写的代码发来我看一下

0
0

Python 分布式爬虫与 JS 逆向进阶实战

20+ 案例 & 可接单级项目,全面提升爬虫实战能力

99 学习 · 26 问题

查看课程