【爬虫逆向】Python逆向采集猫眼电影票房数据

时间:2024-03-18 11:04:37

进行数据抓包,因为这个网站有数据加密

!pip install jsonpath
Collecting jsonpath
  Downloading jsonpath-0.82.2.tar.gz (10 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: jsonpath
  Building wheel for jsonpath (setup.py) ... done
  Created wheel for jsonpath: filename=jsonpath-0.82.2-py3-none-any.whl size=6724 sha256=0b69428c90f399b387b7b81227fc625ad5099b67ef9eba6d38787a548034cb12
  Stored in directory: /home/mw/.cache/pip/wheels/2c/2a/fa/87e26ec807b9a21dd0464eb1319cc3ad51b0c9e505fe6b7396
Successfully built jsonpath
Installing collected packages: jsonpath
Successfully installed jsonpath-0.82.2
# 导入需要的库
import base64
import hashlib
import math
import random
import time
import jsonpath
import pandas as pd
import requests

对User-Agent与signKey分别进行解密,这里就不扣js了,主要是找规律,大家有什么问题可以给我留言,我看见都会回的

def getData():
    url = 'https://piaofang.maoyan.com/dashboard-ajax/movie'
    useragents = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183'
    headers = {
        'User-Agent':useragents,
        'Referer':'https://piaofang.maoyan.com/dashboard/movie'
    }

    useragents = str(base64.b64encode(useragents.encode('utf-8')),'utf-8')
    index = str(round(random.random() * 1000))
    times = str(math.ceil(time.time() * 1000))
    # "method=GET&timeStamp={}&User-Agent={}&index={}&channelId=40009&sVersion=2&key=A013F70DB97834C0A5492378BD76C53A"
    content = "method=GET&timeStamp={}&User-Agent={}&index={}&channelId=40009&sVersion=2&key=A013F70DB97834C0A5492378BD76C53A".format(times,useragents,index)
    md5 = hashlib.md5()
    md5.update(content.encode('utf-8'))
    sign = md5.hexdigest()

    params = {
        'orderType': '0',
        'uuid': '17d79b87a00c8-015087c7514df4-5919145b-144000-17d79b87a00c8',
        # 时间戳
        'timeStamp': times,
        # base64加密
        'User-Agent': useragents,
        # 随机数 * 1000取整
        'index': index,
        'channelId': '40009',
        'sVersion': '2',
        # md5加密
        'signKey': sign
    }

代码详情

                电影名称   上映时间    上座率   场均人次   票房占比     综合票房   排片场次   排片占比
0              拯救嫌疑人  上映22天   1.6%    2.3  39.2%    5.17亿  88158  28.3%
1               无价之宝  上映13天   1.7%    2.0  22.1%    1.26亿  58656  18.8%
2        饥饿游戏:鸣鸟与蛇之歌   上映6天   1.2%    1.8  14.1%  4310.6万  46166  14.8%
3                 红猪   上映6天   1.7%    2.0   4.9%  1554.3万  14776   4.7%
4           志愿军:雄兵出击  上映56天   2.7%    2.7   3.5%    8.23亿   7329   2.3%
5              惊奇队长2  上映13天   0.3%    0.5   2.6%    1.08亿  33697  10.8%
6              河边的错误  上映33天   1.3%    1.4   2.3%    2.97亿   8989   2.8%
7               二手杰作  上映27天   0.9%    1.0   1.4%    1.14亿   8860   2.8%
8               坚如磐石  上映56天   1.3%    1.3   1.4%   13.48亿   5759   1.8%
9                 觅渡  上映87天  65.6%   58.1   1.0%  2350.1万     96  <0.1%
10          前任4:英年早婚  上映56天   1.2%    1.1   0.9%   10.10亿   4666   1.5%
11                追缉  上映12天   0.4%    0.5   0.7%  2061.4万  11903   3.8%
12             莫斯科行动  上映55天   1.2%    1.2   0.7%    6.62亿   3323   1.0%
13         家园·重返地球之战  上映20天  45.8%   52.1   0.6%   104.4万     63  <0.1%
14              吾爱敦煌   上映6天   0.7%    0.7   0.6%   624.6万   4580   1.4%
15               小马鞭  上映38天  14.6%   15.4   0.3%   748.1万    120  <0.1%
16        开国将帅授衔1955     点映  38.5%  389.0   0.3%    14.6万      2  <0.1%
17             我本是高山     点映  37.5%   69.3   0.3%  1570.0万     16  <0.1%
18              古庙迷杀   上映6天   0.6%    0.6   0.2%   102.4万   3455   1.1%
19           八百矿工上井冈         57.4%   73.3   0.2%   450.8万     24  <0.1%
20              白塔之光  上映27天  12.5%   11.7   0.2%   683.3万    128  <0.1%
21       迷你特工队之汉堡大作战  上映12天   0.3%    0.3   0.1%  1277.1万   3387   1.0%
22  汪汪队立大功大电影2:超能大冒险  上映55天   0.7%    0.7   0.1%    1.35亿   1624   0.5%
23              千里送鹤   上映7天   2.3%    2.4   0.1%    30.2万    396   0.1%
24              奥本海默  上映85天   1.8%    1.9   0.1%    4.50亿    245  <0.1%
25          贝肯熊:火星任务  上映56天   0.4%    0.4  <0.1%  8095.0万    771   0.2%
26                单声         16.2%   39.7  <0.1%    20.0万      6  <0.1%
27            喜马拉雅之灵   上映6天   0.7%    0.8  <0.1%    51.8万    310  <0.1%
28               过山榜     点映  97.7%  172.0  <0.1%     8049      1  <0.1%
29             一个和四个  上映27天   0.6%    0.5  <0.1%   484.4万    361   0.1%
..               ...    ...    ...    ...    ...      ...    ...    ...
45              穿越烽火         29.0%   25.0  <0.1%    94.7万      2  <0.1%
46              此生有约         41.1%   35.0  <0.1%    61.8万      1  <0.1%
47              普通男女  上映20天   0.4%    0.4  <0.1%   115.6万     72  <0.1%
48              替身纸人  上映41天   0.5%    0.5  <0.1%   458.9万     70  <0.1%
49          我爸没说的那件事  上映20天   0.1%    0.1  <0.1%   415.8万    214  <0.1%
50             最好的相遇  上映34天   0.2%    0.2  <0.1%  1689.6万     74  <0.1%
51            看不见的顶峰  上映27天   0.3%    0.4  <0.1%   138.7万     49  <0.1%
52              故园飘梦  上映31天   0.4%    0.5  <0.1%    39.1万     42  <0.1%
53               思念爱  上映12天   0.5%    0.4  <0.1%     3.3万     29  <0.1%
54        我是哪吒2之英雄归来  上映55天   0.2%    0.2  <0.1%  1754.2万     60  <0.1%
55              心愿房间  上映23天   0.4%    0.5  <0.1%     9.0万     15  <0.1%
56                洛神          2.8%    3.3  <0.1%     1.5万      3  <0.1%
57        小美人鱼之大海怪传说  上映55天   0.1%    0.2  <0.1%   643.7万     39  <0.1%
58           侏罗纪公园3D          2.0%    3.0  <0.1%    3.49亿      1  <0.1%
59              失而复得  上映26天   0.1%    0.1  <0.1%   459.8万     34  <0.1%
60              午夜迷途          0.5%    0.5  <0.1%   288.4万      8  <0.1%
61             疯狂大营救  上映55天   0.7%    0.4  <0.1%    89.9万     11  <0.1%
62               碧玉簪          4.0%    4.0  <0.1%     2.3万      1  <0.1%
63     小黄人大眼萌:神偷奶爸前传          1.3%    2.0  <0.1%    2.37亿      1  <0.1%
64            青春就这么过  上映12天   0.2%    0.3  <0.1%     8.6万      8  <0.1%
65              党的女儿          1.3%    1.0  <0.1%     6.2万      2  <0.1%
66          命中注定与你为敌          6.8%    2.0  <0.1%     9.3万      1  <0.1%
67               借东风          3.7%    3.0  <0.1%     3935      1  <0.1%
68             洋子的困惑  上映26天   0.3%    0.3  <0.1%    44.8万      7  <0.1%
69             欢乐好声音          0.6%    1.0  <0.1%    2.15亿      1  <0.1%
70            永安镇故事集  上映76天   1.2%    1.0  <0.1%   322.2万      1  <0.1%
71               朱英国  上映10天   0.1%    0.2  <0.1%     2.9万      5  <0.1%
72              流水落花  上映69天   0.2%    0.3  <0.1%    28.6万      3  <0.1%
73            北京2022          0.1%    0.2  <0.1%  3053.6万      5  <0.1%
74              None  上映22天   None   None   None     None   None   None

[75 rows x 8 columns]

猫眼电影数据可视化

这个做的比较着急,欢迎大家fork项目,一起学习,一起改进

import pandas as pd
data=pd.read_csv("/home/mw/input/maoyan8911/猫眼电影.csv")
data
电影名称 上映时间 上座率 场均人次 票房占比 综合票房 排片场次 排片占比
0 拯救嫌疑人 上映22天 1.4% 2.0 38.5% 5.15亿 88298.0 28.3%
1 无价之宝 上映13天 1.4% 1.7 21.7% 1.25亿 58746.0 18.8%
2 饥饿游戏:鸣鸟与蛇之歌 上映6天 1.1% 1.5 14.4% 4271.1万 46224.0 14.8%
3 红猪 上映6天 1.5% 1.8 5.2% 1545.3万 14796.0 4.7%
4 志愿军:雄兵出击 上映56天 2.5% 2.6 3.9% 8.23亿 7333.0 2.3%
5 惊奇队长2 上映13天 0.3% 0.4 2.6% 1.08亿 33801.0 10.8%
6 河边的错误 上映33天 1.2% 1.2 2.4% 2.97亿 8997.0 2.8%
7 二手杰作 上映27天 0.8% 0.8 1.4% 1.14亿 8871.0 2.8%
8 坚如磐石 上映56天 1.2% 1.2 1.4% 13.48亿 5763.0 1.8%
9 前任4:英年早婚 上映56天 0.9% 0.9 0.8% 10.10亿 4668.0 1.4%
10 觅渡 上映87天 75.0% 38.8 0.7% 2342.4万 95.0 <0.1%
11 追缉 上映12天 0.3% 0.4 0.7% 2058.5万 11933.0 3.8%
12 莫斯科行动 上映55天 1.0% 1.0 0.7% 6.62亿 3326.0 1.0%
13 吾爱敦煌 上映6天 0.7% 0.7 0.6% 624.2万 4593.0 1.4%
14 家园·重返地球之战 上映20天 40.9% 45.5 0.6% 102.6万 62.0 <0.1%
15 开国将帅授衔1955 点映 38.5% 389.0 0.3% 14.6万 2.0 <0.1%
16 我本是高山 点映 39.5% 73.9 0.3% 1570.0万 15.0 <0.1%
17 八百矿工上井冈 NaN 57.4% 73.3 0.3% 450.8万 24.0 <0.1%
18 白塔之光 上映27天 12.5% 11.7 0.2% 683.3万 128.0 <0.1%
19 小马鞭 上映38天 8.8% 9.1 0.2% 745.1万 120.0 <0.1%
20 古庙迷杀 上映6天 0.3% 0.4 0.2% 99.7万 3494.0 1.1%
21 迷你特工队之汉堡大作战 上映12天 0.3% 0.3 0.1% 1277.1万 3387.0 1.0%
22 汪汪队立大功大电影2:超能大冒险 上映55天 0.7% 0.7 0.1% 1.35亿 1623.0 0.5%
23 千里送鹤 上映7天 2.3% 2.4 0.1% 30.2万 398.0 0.1%
24 奥本海默 上映85天 1.7% 1.8 0.1% 4.50亿 245.0 <0.1%
25 贝肯熊:火星任务 上映56天 0.4% 0.4 <0.1% 8095.0万 771.0 0.2%
26 单声 NaN 16.2% 39.7 <0.1% 20.0万 6.0 <0.1%
27 过山榜 点映 97.7% 172.0 <0.1% 8049 1.0 <0.1%
28 喜马拉雅之灵 上映6天 0.7% 0.7 <0.1% 51.8万 310.0 <0.1%
29 一个和四个 上映27天 0.5% 0.5 <0.1% 484.3万 359.0 0.1%
... ... ... ... ... ... ... ... ...
45 此生有约 NaN 41.1% 35.0 <0.1% 61.8万 1.0 <0.1%
46 画魔人 上映27天 0.1% 0.1 <0.1% 198.8万 348.0 0.1%
47 普通男女 上映20天 0.4% 0.4 <0.1% 115.6万 72.0 <0.1%
48 我爸没说的那件事 上映20天 0.1% 0.1 <0.1% 415.8万 215.0 <0.1%
49 替身纸人 上映41天 0.3% 0.4 <0.1% 458.9万 71.0 <0.1%
50 看不见的顶峰 上映27天 0.3% 0.3 <0.1% 138.7万 49.0 <0.1%
51 最好的相遇 上映34天 0.1% 0.1 <0.1% 1689.6万 74.0 <0.1%
52 故园飘梦 上映31天 0.3% 0.4 <0.1% 39.1万 42.0 <0.1%
53 我是哪吒2之英雄归来 上映55天 0.2% 0.2 <0.1% 1754.2万 60.0 <0.1%
54 思念爱 上映12天 0.3% 0.3 <0.1% 3.2万 29.0 <0.1%
55 心愿房间 上映23天 0.4% 0.5 <0.1% 9.0万 15.0 <0.1%
56 洛神 NaN 2.8% 3.3 <0.1% 1.5万 3.0 <0.1%
57 小美人鱼之大海怪传说 上映55天 0.1% 0.2 <0.1% 643.7万 39.0 <0.1%
58 侏罗纪公园3D NaN 2.0% 3.0 <0.1% 3.49亿 1.0 <0.1%
59 疯狂大营救 上映55天 0.7% 0.4 <0.1% 89.9万 11.0 <0.1%
60 碧玉簪 NaN 4.0% 4.0 <0.1% 2.3万 1.0 <0.1%
61 小黄人大眼萌:神偷奶爸前传 NaN 1.3% 2.0 <0.1% 2.37亿 1.0 <0.1%
62 青春就这么过 上映12天 0.2% 0.2 <0.1% 8.6万 9.0 <0.1%
63 党的女儿 NaN 1.3% 1.0 <0.1% 6.2万 2.0 <0.1%
64 命中注定与你为敌 NaN 6.8% 2.0 <0.1% 9.3万 1.0 <0.1%
65 午夜迷途 NaN 0.2% 0.2 <0.1% 288.4万 9.0 <0.1%
66 失而复得 上映26天 0.0% <0.1 <0.1% 459.8万 34.0 <0.1%
67 借东风 NaN 3.7% 3.0 <0.1% 3935 1.0 <0.1%
68 洋子的困惑 上映26天 0.3% 0.3 <0.1% 44.8万 7.0 <0.1%
69 欢乐好声音 NaN 0.6% 1.0 <0.1% 2.15亿 1.0 <0.1%
70 永安镇故事集 上映76天 1.2% 1.0 <0.1% 322.2万 1.0 <0.1%
71 朱英国 上映10天 0.1% 0.2 <0.1% 2.9万 5.0 <0.1%
72 流水落花 上映69天 0.2% 0.3 <0.1% 28.6万 3.0 <0.1%
73 北京2022 NaN 0.1% 0.2 <0.1% 3053.6万 5.0 <0.1%
74 NaN 上映22天 NaN NaN NaN NaN NaN NaN
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 75 entries, 0 to 74
Data columns (total 8 columns):
电影名称    74 non-null object
上映时间    55 non-null object
上座率     74 non-null object
场均人次    74 non-null object
票房占比    74 non-null object
综合票房    74 non-null object
排片场次    74 non-null float64
排片占比    74 non-null object
dtypes: float64(1), object(7)
memory usage: 4.8+ KB

数据缺省值处理

# 去除空值
data.dropna(inplace=True)
data
电影名称 上映时间 上座率 场均人次 票房占比 综合票房 排片场次 排片占比
0 拯救嫌疑人 上映22天 1.4% 2.0 38.5% 5.15亿 88298.0 28.3%
1 无价之宝 上映13天 1.4% 1.7 21.7% 1.25亿 58746.0 18.8%
2 饥饿游戏:鸣鸟与蛇之歌 上映6天 1.1% 1.5 14.4% 4271.1万 46224.0 14.8%
3 红猪 上映6天 1.5% 1.8 5.2% 1545.3万 14796.0 4.7%
4 志愿军:雄兵出击 上映56天 2.5% 2.6 3.9% 8.23亿 7333.0 2.3%
5 惊奇队长2 上映13天 0.3% 0.4 2.6% 1.08亿 33801.0 10.8%
6 河边的错误 上映33天 1.2% 1.2 2.4% 2.97亿 8997.0 2.8%
7 二手杰作 上映27天 0.8% 0.8 1.4% 1.14亿 8871.0 2.8%
8 坚如磐石 上映56天 1.2% 1.2 1.4% 13.48亿 5763.0 1.8%
9 前任4:英年早婚 上映56天 0.9% 0.9 0.8% 10.10亿 4668.0 1.4%
10 觅渡 上映87天 75.0% 38.8 0.7% 2342.4万 95.0 <0.1%
11 追缉 上映12天 0.3% 0.4 0.7% 2058.5万 11933.0 3.8%
12 莫斯科行动 上映55天 1.0% 1.0 0.7% 6.62亿 3326.0 1.0%
13 吾爱敦煌 上映6天 0.7% 0.7 0.6% 624.2万 4593.0 1.4%
14 家园·重返地球之战 上映20天 40.9% 45.5 0.6% 102.6万 62.0 <0.1%
15 开国将帅授衔1955 点映 38.5% 389.0 0.3% 14.6万 2.0 <0.1%
16 我本是高山 点映 39.5% 73.9 0.3% 1570.0万 15.0 <0.1%
18 白塔之光 上映27天 12.5% 11.7 0.2% 683.3万 128.0 <0.1%
19 小马鞭 上映38天 8.8% 9.1 0.2% 745.1万 120.0 <0.1%
20 古庙迷杀 上映6天 0.3% 0.4 0.2% 99.7万 3494.0 1.1%
21 迷你特工队之汉堡大作战 上映12天 0.3% 0.3 0.1% 1277.1万 3387.0 1.0%
22 汪汪队立大功大电影2:超能大冒险 上映55天 0.7% 0.7 0.1% 1.35亿 1623.0 0.5%
23 千里送鹤 上映7天 2.3% 2.4 0.1% 30.2万 398.0 0.1%
24 奥本海默 上映85天 1.7% 1.8 0.1% 4.50亿 245.0 <0.1%
25 贝肯熊:火星任务 上映56天 0.4% 0.4 <0.1% 8095.0万 771.0 0.2%
27 过山榜 点映 97.7% 172.0 <0.1% 8049 1.0 <0.1%
28 喜马拉雅之灵 上映6天 0.7% 0.7 <0.1% 51.8万 310.0 <0.1%
29 一个和四个 上映27天 0.5% 0.5 <0.1% 484.3万 359.0 0.1%
30 好像也没那么热血沸腾 上映56天 0.4% 0.4 <0.1% 1.75亿 392.0 0.1%
31 不动声色 上映6天 0.6% 0.6 <0.1% 8.9万 208.0 <0.1%
32 我的姐妹是网红之追梦花 上映27天 3.3% 10.2 <0.1% 18.4万 6.0 <0.1%
33 珍·古道尔的传奇一生 上映37天 0.8% 0.8 <0.1% 314.4万 127.0 <0.1%
34 美好人间 上映10天 75.1% 41.3 <0.1% 3.1万 3.0 <0.1%
35 傍晚向日葵 点映 59.0% 91.0 <0.1% 2.7万 1.0 <0.1%
39 困兽 上映27天 0.1% 0.1 <0.1% 2102.4万 578.0 0.1%
40 黄鹤楼之盐道迷局 上映34天 13.0% 11.6 <0.1% 13.3万 7.0 <0.1%
46 画魔人 上映27天 0.1% 0.1 <0.1% 198.8万 348.0 0.1%
47 普通男女 上映20天 0.4% 0.4 <0.1% 115.6万 72.0 <0.1%
48 我爸没说的那件事 上映20天 0.1% 0.1 <0.1% 415.8万 215.0 <0.1%
49 替身纸人 上映41天 0.3% 0.4 <0.1% 458.9万 71.0 <0.1%
50 看不见的顶峰 上映27天 0.3% 0.3 <0.1% 138.7万 49.0 <0.1%
51 最好的相遇 上映34天 0.1% 0.1 <0.1% 1689.6万 74.0 <0.1%
52 故园飘梦 上映31天 0.3% 0.4 <0.1% 39.1万 42.0 <0.1%
53 我是哪吒2之英雄归来 上映55天 0.2% 0.2 <0.1% 1754.2万 60.0 <0.1%
54 思念爱 上映12天 0.3% 0.3 <0.1% 3.2万 29.0 <0.1%
55 心愿房间 上映23天 0.4% 0.5 <0.1% 9.0万 15.0 <0.1%
57 小美人鱼之大海怪传说 上映55天 0.1% 0.2 <0.1% 643.7万 39.0 <0.1%
59 疯狂大营救 上映55天 0.7% 0.4 <0.1% 89.9万 11.0 <0.1%
62 青春就这么过 上映12天 0.2% 0.2 <0.1% 8.6万 9.0 <0.1%
66 失而复得 上映26天 0.0% <0.1 <0.1% 459.8万 34.0 <0.1%
68 洋子的困惑 上映26天 0.3% 0.3 <0.1% 44.8万 7.0 <0.1%
70 永安镇故事集 上映76天 1.2% 1.0 <0.1% 322.2万 1.0 <0.1%
71 朱英国 上映10天 0.1% 0.2 <0.1% 2.9万 5.0 <0.1%
72 流水落花 上映69天 0.2% 0.3 <0.1% 28.6万 3.0 <0.1%

猫眼电影上座率前10分析

data_sorted = data.sort_values(by='上座率', ascending=False)
data_top10=data_sorted.head(10)
data_top10
电影名称 上映时间 上座率 场均人次 票房占比 综合票房 排片场次 排片占比
27 过山榜 点映 97.7% 172.0 <0.1% 8049 1.0 <0.1%
19 小马鞭 上映38天 8.8% 9.1 0.2% 745.1万 120.0 <0.1%
34 美好人间 上映10天 75.1% 41.3 <0.1% 3.1万 3.0 <0.1%
10 觅渡 上映87天 75.0% 38.8 0.7% 2342.4万 95.0 <0.1%
35 傍晚向日葵 点映 59.0% 91.0 <0.1% 2.7万 1.0 <0.1%
14 家园·重返地球之战 上映20天 40.9% 45.5 0.6% 102.6万 62.0 <0.1%
16 我本是高山 点映 39.5% 73.9 0.3% 1570.0万 15.0 <0.1%
15 开国将帅授衔1955 点映 38.5% 389.0 0.3% 14.6万 2.0 <0.1%
32 我的姐妹是网红之追梦花 上映27天 3.3% 10.2 <0.1% 18.4万 6.0 <0.1%
4 志愿军:雄兵出击 上映56天 2.5% 2.6 3.9% 8.23亿 7333.0 2.3%

data_top10['电影名称'].tolist()
['过山榜',
 '小马鞭',
 '美好人间',
 '觅渡',
 '傍晚向日葵',
 '家园·重返地球之战',
 '我本是高山',
 '开国将帅授衔1955',
 '我的姐妹是网红之追梦花',
 '志愿军:雄兵出击']
percentage=data_top10['上座率'].tolist()
data_shangan=[percentage.replace("%", "") for percentage in percentage]
data_shangan
['97.7', '8.8', '75.1', '75.0', '59.0', '40.9', '39.5', '38.5', '3.3', '2.5']

from pyecharts.charts import Bar,Line,Map,Page,Pie  
from pyecharts import options as opts 
from pyecharts.globals import SymbolType
from pyecharts.charts import Bar
# from pyecharts.charts import opts
#条形图  
#bar1 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px')) 
bar1 = Bar() 
bar1.add_xaxis(data_top10['电影名称'].tolist())
bar1.add_yaxis('', data_shangan) 
bar1.set_global_opts(title_opts=opts.TitleOpts(title='猫眼电影上座率前10分析'),
                     xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
                     visualmap_opts=opts.VisualMapOpts(max_=28669)
                    ) 

bar1.render_notebook()