无法使用 Selenium 或 BeautifulSoup 抓取动态内容

2024-03-25

我正在尝试从 URL 中抓取动态内容:https://www.prokabaddi.com/stats/0-102-total-points-statistics https://www.prokabaddi.com/stats/0-102-total-points-statistics。尝试过使用selenium、BeautifulSoup,但两者都给我带来了一个空列表。 我的代码是:

url = "https://www.prokabaddi.com/stats/0-102-total-points-statistics"

# create a new Chrome session
driver = webdriver.Chrome()
driver.get(url) 
soup.find_all("div", class_="sipk-lb-playerName")

这将返回一个空列表。当我在控制台中检查数据时,数据是存在的,但在页面源中数据和div标签不存在。我相信这与js渲染的内容有关。

如何从此 URL 中提取玩家姓名和积分。


进入开发工具并查看 XHR。您将看到直接提取数据的网址。它以 json 形式返回,但可以将其转换为表格:

Code:

import requests
from pandas.io.json import json_normalize

url = 'https://www.prokabaddi.com/sifeeds/kabaddi/static/json/1_0_102_stats.json'
jsonData = requests.get(url).json()

table = json_normalize(jsonData['data'])

Output:

print (table.head(5).to_string())
   match_played  player_id         player_name  position_id position_name rank team        team_full_name  team_id team_name  value
0           101        197      Pardeep Narwal          8.0        Raider    1  PAT         Patna Pirates        6       PAT   1055
1           116         81     Rahul Chaudhari          8.0        Raider    2   TT       Tamil Thalaivas       29        TT    987
2           118         41  Deepak Niwas Hooda          1.0   All Rounder    3  JAI  Jaipur Pink Panthers        3       JAI    892
3           115         26         Ajay Thakur          8.0        Raider    4   TT       Tamil Thalaivas       29        TT    811
4            88        326         Rohit Kumar          8.0        Raider    5  BEN       Bengaluru Bulls        1       BEN    689

并过滤以仅获取名称和分数:

print (table[['player_name','value']])
                     player_name  value
0                 Pardeep Narwal   1055
1                Rahul Chaudhari    987
2             Deepak Niwas Hooda    892
3                    Ajay Thakur    811
4                    Rohit Kumar    689
5                 Maninder Singh    673
6               Rishank Devadiga    619
7                Kashiling Adake    612
8                     Anup Kumar    596
9           Pawan Kumar Sehrawat    572
10              Manjeet Chhillar    562
11                Sandeep Narwal    533
12                    Monu Goyat    475
13                  Jang Kun Lee    462
14                 Sachin Tanwar    456
15                   Nitin Tomar    445
16                  Jasvir Singh    412
17                 Rajesh Narwal    397
18                  Sukesh Hegde    395
19                  Meraj Sheykh    393
20                  Naveen Kumar    364
21                Vikash Kandola    358
22           Prashanth Kumar Rai    358
23                  K. Prapanjan    357
24               Shrikant Jadhav    342
25        Siddharth Sirish Desai    337
26                     Ran Singh    319
27                Ravinder Pahal    317
28                 Deepak Narwal    306
29                   Wazir Singh    300
..                           ...    ...
359         Rohit Kumar Prajapat      1
360              Kazuhiro Takano      1
361             Inderpal Bishnoi      1
362                   Amit Kumar      1
363          Sunil Subhash Lande      1
364                  Atif Waheed      1
365                  Nithesh B R      1
366  Mohammad Taghi Paein Mahali      1
367                  Yong Joo Ok      1
368               Vishnu Uthaman      1
369               Ajvender Singh      1
370                        Sanju      1
371              Ravinandan G.M.      1
372                 Navjot Singh      1
373                Parvesh Attri      1
374                Hardeep Duhan      1
375               Parveen Narwal      1
376                   Ajay Singh      1
377                  Nitin Kumar      1
378                       Jishnu      1
379                Naveen Narwal      1
380                   M. Abishek      1
381               Vikas Chhillar      1
382                         Aman      1
383                      Satywan      1
384               Vikram Kandola      1
385             Emad Sedaghatnia      1
386                Aashish Nagar      1
387        Ajinkya Rohidas Kapre      1
388                       Munish      1

[389 rows x 2 columns]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 Selenium 或 BeautifulSoup 抓取动态内容 的相关文章

  • 在 __init__ 中使用属性设置器

    如何在中使用属性设置器 init 没有 pylint 抱怨该属性已在外部定义 init 例如 以下代码仅产生一个异常 该异常被底部的 try 子句捕获 class CircleNotUsingSetterInInit object def
  • 如何根据功能(自动)通过属性查看或隐藏字段?

    我只想查看员工 他的经理和 hr group hr user 组的 working hours 字段 如何隐藏该字段自动执行 无需编辑表单或触发按钮 class InheritHrEmployee models Model inherit
  • 获取数据框列表并按变量分组,然后使用该变量作为字典的键

    我对 python 编程比较陌生 我有一个 pandas 数据框列表 其中都有 年份 列 我试图按该列进行分组并转换为字典 其中字典键是变量 年份 值是该年的数据帧列表 这在Python中可能吗 我试过这个 grouped dict lis
  • 在 pytest 中参数化并运行单个测试

    如何从配置了参数化的集合中运行单个测试 假设我有以下测试方法 pytest mark parametrize PARAMETERS LIST PARAMETERS VALUES def test my feature self param1
  • 如何在python中将纬度经度转换为十进制?

    假设我有以下内容 latitude 20 55 70 010N longitude 32 11 50 000W 转换为十进制形式最简单的方法是什么 有图书馆吗 从秒形式转换会更简单吗 149520 220N 431182 897W 为了处理
  • 无法获取POST参数

    我正在使用 WebApp2 作为框架在 Python 中开发一个 Web 应用程序 我无法获取通过填写表单提交的http POST请求参数 这是我创建的表单的 HTML 代码
  • numpy.savetxt“元组索引超出范围”?

    我正在尝试将几行写入文本文件 这是我使用的代码 import numpy as np Generate some test data data np arange 0 0 1000 0 50 0 with file test txt w a
  • 无法在python中使用selenium打开IE

    我正在 Windows 10 计算机 Internet Explorer 11 python 3 6 selenium 3 4 3 和 IEDriverServer 3 5 上运行 我正在尝试使用以下代码打开 IE from seleniu
  • Python 上的 io.open() 和 os.open() 有什么区别?

    我意识到open 我一直在使用的函数是一个别名io open 以及导入 from os会掩盖这一点 通过以下方式打开文件有什么区别io模块和os module io open 是文件 I O 的首选高级接口 它将操作系统级文件描述符包装在一
  • 长异常链的优雅替代方案? [复制]

    这个问题在这里已经有答案了 很多时候我发现自己写的东西看起来像这样 try procedure a except WrongProcedureError try procedure b except WrongProcedureError
  • 如何将“实例键”添加到 keras 模型输入以在 gcloud ai-platform 中进行批量预测?

    我正在尝试添加 键 以匹配 Google AI Platform 的批量预测输出 但是我的模型输入只允许一个输入 看起来像这样 input tf keras layers Input shape max len x tf keras lay
  • ~/.conda/envs 与 ~/anaconda3/envs

    最近更新 macOS Catalina 后 我正在调试 Anaconda 的一些问题 并注意到 conda envs已添加到配置中 这已经破坏了我的许多开发环境 我想知道 为什么我会看到 conda 环境的这个新位置 我可以删除它并继续仅在
  • 在测试中检查 CLI 的退出代码

    我正在为命令行工具编写自动化测试 本质上 我想使用各种选项调用 CLI 并测试退出代码和 或输出 我的测试如下所示 from mymodule cli tool import main def test args capfd with py
  • Python在虚拟环境中找不到包

    我正在尝试为项目设置环境 但 python 无法找到我使用 pip 安装的模块 我做了以下事情 mkdir helloTwitter cd helloTwitter virtualenv myenv Installing setuptool
  • 我可以在 python 中获得没有 echo 的控制台输入吗?

    我可以在 python 中获取没有 echo 的控制台输入吗 Use getpass http docs python org library getpass html gt gt gt from getpass import getpas
  • 如何像 urllib 这样的模拟/存根 python 模块

    我需要测试一个需要使用 urllib urlopen 它也使用 urllib urlencode 查询外部服务器上的页面的函数 服务器可能宕机 页面可能发生变化 我不能依赖它进行测试 控制 urllib urlopen 返回内容的最佳方法是
  • 将时间戳合并到自定义时间段中

    我对熊猫相当陌生 并且遇到了障碍 我有一个包含时间戳的数据帧 我想在我的数据框中添加一列 其中包含自定义期间名称 字符串 例如 df pd DataFrame pd date range 01 01 00 00 periods 72 fre
  • Pytorch ValueError:优化器得到一个空参数列表

    当尝试创建神经网络并使用 Pytorch 对其进行优化时 我得到了 ValueError 优化器得到一个空参数列表 这是代码 import torch nn as nn import torch nn functional as F fro
  • Python:Pycharm 运行时

    我目睹了 PyCharm 的一些奇怪的运行时问题 解释如下 该代码已在具有 20 个内核和 256 GB RAM 的机器上运行 并且有足够的空闲内存 我没有展示任何实际功能 因为它是一个相当大的项目 但我非常乐意根据要求添加详细信息 简而言
  • 为调色板图像分配不同的调色板索引

    我正在用 Python 和 Pygame 编写游戏 为此 图形将采用旧视频游戏机 如 NES 的风格 因此 图形由具有 2 位 4 色 图像的单个图块集文件组成 我希望在加载这些图像时能够为这些图像分配任意 4 色调色板 我想要做的是使用

随机推荐