爬虫-电影影评爬取

先上代码

python 复制代码
import requests
import time

headers = {
    "referer": "http://movie.mtime.com/",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36"
}
for i in range(1, 6):
    params = {
        'tt': "{}".format(int(time.time() * 1000)),
        'movieId': '251525',
        'pageIndex': i,
        'pageSize': '20',
        'orderType': '1'

    }
    url = "http://front-gateway.mtime.com/library/movie/comment.api"
    result = requests.get(url, headers=headers, params=params)
    comments = result.json()['data']['list']
    for comment in comments:
        user = comment['nickname']
        content = comment["content"]
        print("用户:%s" % user)
        print("评论:%s" % content)
    time.sleep(1)

这里面有几个部分需要做下说明:

以哪吒之魔童降世来说,进入此网页,打开开发者模式,点击Network->XHR,因为我们找的是评论,其英文是comment,如下我们找到了。

1.headers,它的来源是哪呢?

点击其头headers,拉到最下面,找到了Referer以及User-Agent,此值直接获取,(上面代码中的user-agent以自己电脑为准)。

2.params中的值。

同样是来源于headers中,有个Request URL,它的值是

http://front-gateway.mtime.com/library/movie/comment.api?tt=1718197021078&movieId=251525&pageIndex=1&pageSize=20&orderType=2

我们知道链接中?后面的参数为查询参数,requests.get() 方法提供了 params 参数,能让我们以字典的形式传递链接的查询参数,那几个字段的意义如下:

movieId :电影在时光网中的ID

pageIndex :评论的第x页

pageSize :每页评论数

orderType :字面意思是排序方式,而我们发现,短影评页的右上方的确是有这个选项的。值为 1 代表的应该就是按最热排序

tt:时间戳

3.result.json()

result我们知道是获取出来的结果,但是.json的意义是什么?我们需要json是什么

json:(JavaScript Object Notation)是一种轻量级的数据交换格式;构建于两种结构:键值对的集合 和 值的有序列表,分别对应python中 字典和列表。其本质是字符串,只是该字符串符合特定的格式要求。

4.time.sleep(1) 此处是为了让爬虫慢一点,防止被封

相关推荐
夜雪一千4 小时前
Python URL解码详解:单层、双重URL解码实战与踩坑指南
linux·服务器·python
VIP_CQCRE5 小时前
用 Ace Data Cloud 一站式接入 AI 视频生成:HappyHorse Videos API 实战指南
python·aigc·api·ai视频·acedatacloud
kali-Myon5 小时前
定向 FGSM 攻击:让神经网络《指猫为狗》
图像处理·python·神经网络·安全·机器学习·fgsm
老歌老听老掉牙5 小时前
旅行商问题:从数学模型到 Python 实战
开发语言·python
CC数分5 小时前
数据可视化入门:用Python把一堆数字变成一张图
开发语言·python·信息可视化·数据分析
打工仔折腾 AI5 小时前
Prometheus接入Pushgateway实战:二进制与Docker部署、指标推送与远程写入
后端·python·docker·容器·性能优化·prometheus·ai agent 实战
FYKJ_20105 小时前
springboot鲜花销售系统91056-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·mysql·django·课程设计
子非鱼eva5 小时前
ONNX模型导出实战:PyTorch 导出 ResNet18 模型
人工智能·pytorch·python·知识图谱·onnx·昇腾知识图谱
Andreapiki5 小时前
数字化审计校招技术备考指南:SQL、Python、BI、RPA学习路径
python·sql·rpa
Rebecca_aLi5 小时前
码匠教育:零基础学 Python,标识符到循环全套基础语法解析
开发语言·python·正则表达式