python 用动态生成的数据抓取网站

von4xj4u  于 2022-10-30  发布在  Python
关注(0)|答案(1)|浏览(170)

我试图从这个链接刮匹配表:https://www.kayak-polo.info/kpmatchs.php?lang=en&event=0&Saison=2022&Group=CM&Compet=&J=&Round=*&Css=&navGroup=1
不幸的是,数据是动态生成的,我似乎找不出让它工作的方法。
看起来数据是根据您在此处所做的选择动态生成的:

我试着看网络标签,它最终把我带到了datatables.net。但是我似乎找不到一种方法来从那个网站上获取数据。它似乎发出了一个带有某些标题的帖子请求,但不幸的是我不太清楚它是做什么的。
没有API调用

guykilcj

guykilcj1#

所需的表数据不是由JavaScript填充的,这意味着数据是静态的HTML DOM,您可以使用pandas DataFrame获取表数据。

import pandas as pd
import requests
headers = {'user-agent':'Mozilla/5.0'}
url = 'https://www.kayak-polo.info/kpmatchs.php?lang=en&event=0&Saison=2022&Group=CM&Compet=*&J=*&Round=*&Css=&navGroup=1'
req= requests.get(url,headers=headers).text
df = pd.read_html(req)[0]
print(df)

输出:


# Date  ...                     Referee 2                                              Games

    0    501  2022-08-1610:20  ...             THOMAS Mark (GBR)  08-16 10:20 - Pitch 1  Group UW  ITA U21 Women...     
    1    503  2022-08-1610:20  ...           BELISLE Ricky (AUS)  08-16 10:20 - Pitch 3  Group UW  ESP U21 Women...     
    2    504  2022-08-1610:20  ...  ANDZIAK-GINTER Marzena (POL)  08-16 10:20 - Pitch 4  Group UW  NED U21 Women...     
    3    508  2022-08-1613:00  ...           BELISLE Ricky (AUS)  08-16 13:00 - Pitch 4  Group UW  ITA U21 Women...     
    4    506  2022-08-1813:15  ...           BELISLE Ricky (AUS)  08-18 13:15 - Pitch 2  Group UW  POL U21 Women...     
    ..   ...              ...  ...                           ...                                                ...     
    280  464  2022-08-1914:25  ...            WOLFF Sandra (GER)  08-19 14:25 - Pitch 4  Classifying 13-16  CZE ...     
    281  545  2022-08-2016:00  ...                           NaN    08-20 16:00 - Pitch 5th place  GBR U21 Women  -     
    282  195  2022-08-2112:05  ...                           NaN  08-21 12:05 - Pitch 5  21th place  UKR Men  Aw...     
    283  546  2022-08-2016:00  ...                           NaN    08-20 16:00 - Pitch 8th place  ITA U21 Women  -     
    284    #             Date  ...                     Referee 2                                                NaN     

[285 rows x 11 columns]

相关问题