爱奇艺电影评论数据采集

2022年12月4日 22:29 ry 837

一般看电影总会先翻下评论,以爱奇艺中电影为例,如图所示我们先来看下这个评论数据,打开开发者工具或者直接按住F12,下拉数据实现更显,查看评论数据包如图所示,或者直接在all中直接搜索评论数据,如图所示完整url如图所示

https://sns-comment.iqiyi.com/v3/comment/get_baseline_comments.action?agent_type=118&agent_version=9.11.5&authcookie=null&business_type=17&channel_id=1&content_id=5175273237810200&last_id=&need_vote=1&page_size=10&qyid=9bf30c577b1504d0a59d87c01ed1eba4&sort=TIMEDESC&tail_num=1&callback=jsonp_1670163241612_14024

向下滑动实现翻页,其中content_id是对应电影,不同电影content_id不同。last_id是翻页参数,第一页的last_id默认为空,第二页的last_id为第一页的response中的id(也就是上一页请求数据的响应的id),如图所示,那就好办了,直接加个循环就可以处理了,完整代码如下所示

import requests
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'}
last_id = ''
num = 0
while True:
    url = 'https://sns-comment.iqiyi.com/v3/comment/get_comments.action?agent_type=118&agent_version=9.11.5&authcookie=null&business_type=17&channel_id=1&content_id=5175273237810200&hot_size=0&last_id={}&page=&page_size=20&types=time'.format(last_id)
    r = requests.get(url,headers=headers)

    datas = r.json()['data']['comments']
    # print(datas)
    num += len(datas)
    for i in datas:
        print(i)
        last_id = i['id']

代码执行结果如下所示

如果上述代码帮助您很多,可以打赏下以减少服务器的开支吗,万分感谢!

欢迎发表评论~

点击此处登录后即可评论


评论列表
暂时还没有任何评论哦...

赣ICP备2021001574号-1

赣公网安备 36092402000079号