当前位置: 首页 > 知识库问答 >
问题:

尝试滚动和刮取动态加载的网页

方鸿振
2023-03-14

我试图刮所有可用的赔率为每个游戏在这个网页上找到:https://www.sportsbookreview.com/betting-odds/nfl-football/?date=20170917

我知道网页是动态加载的,所以我尝试插入一个滚动条,希望它在滚动时加载所有可用的赔率,但不幸的是,情况似乎并非如此,因为它只是在继续滚动时删除先前加载的数据。

我尝试过实现有这个问题的类似帖子,(比如这个尝试使用Python和Selenium迭代滚动和抓取网页),但我似乎仍然无法解决它。下面粘贴的是我的代码。

import selenium
from selenium import webdriver

url= 'https://www.sportsbookreview.com/betting-odds/nfl-football/?date=20170917'
driver = webdriver.Chrome()
driver.get(url)
driver.execute_script("window.scrollTo(0, 900)") 

odds_finder=driver.find_elements_by_class_name('_3h0tU')

file_odds = []
for x in odds_finder:
    x=x.text
    file_odds.append(x)

driver.quit()

file_赔率的输出粘贴在下面,但正如您所知,最前面的元素只是游戏的“开局者”和“下注者”行,而不是列表中稍后刮取的剩余可用赔率。在此方面的任何帮助都将不胜感激。

['64%',
 '36%',
 'PK-110',
 'PK-110',
 '56%',
 '44%',
 '+7½-110',
 '-9+105',
 '58%',
 '42%',
 '+7-105',
 '-7-115',
 '66%',
 '34%',
 '-4½-110',
 '+4½-110',
 '49%',
 '51%',
 '-7-110',
 '+7-110',
 '45%',
 '55%',
 '+4½-110',
 '-4½-110',
 '49%',
 '51%',
 '+7½-130',
 '-7½+110',
 '+8½-104',
 '-8½-106',
 '+8½-105',
 '-8½-105',
 '+8-110',
 '-8-110',
 '+8½-110',
 '-8½-110',
 '+9-110',
 '-9-110',
 '+8½-105',
 '-8½-105',
 '53%',
 '47%',
 '+6-110',
 '-6-110',
 '+7-100',
 '-7-110',
 '+7-105',
 '-7-105',
 '+7-119',
 '-7-101',
 '+7-110',
 '-7-110',
 '+7-110',
 '-7-110',
 '+6½+105',
 '-6½-115',
 '49%',
 '51%',
 '+4-110',
 '-4-110',
 '+3½-105',
 '-3½-105',
 '+3½-105',
 '-3½-105',
 '+3½-110',
 '-3½-110',
 '+3½-110',
 '-3½-110',
 '+3½-110',
 '-3½-110',
 '+3½-110',
 '-3½+100',
 '37%',
 '63%',
 '+14½-120',
 '-14½+100',
 '+14-100',
 '-14-110',
 '+14-105',
 '-14-105',
 '+14-114',
 '-14-106',
 '+14-110',
 '-14-110',
 '+14+100',
 '-14-120',
 '+13½+105',
 '-13½-115',
 '53%',
 '47%',
 '+3-120',
 '-3+100',
 '+3-106',
 '-3-104',
 '+3-110',
 '-3+100',
 '+3-112',
 '-3-108',
 '+3-110',
 '-3-110',
 '+3-105',
 '-3-115',
 '+3-105',
 '-3-105',
 '60%',
 '40%',
 '-1-120',
 '+1+100',
 '-2½-100',
 '+2½-110',
 '-2½-103',
 '+2½-107',
 '-2½-105',
 '+2½-115',
 '-2½-118',
 '+2½-102',
 '-3-105',
 '+3-115',
 '-2½-105',
 '+2½-105',
 '41%',
 '59%',
 '+14-130',
 '-14+110',
 '+13½-110',
 '-13½-100',
 '+13½-108',
 '-13½-102',
 '+13½-115',
 '-13½-105',
 '+13½-110',
 '-13½-110',
 '+14-105',
 '-14-115',
 '+13½-105',
 '-13½-105',
 '51%',
 '49%',
 '+2½+100',
 '-2½-120',
 '+3½-110',
 '-3½-100',
 '+3+108',
 '-3-118',
 '+3+105',
 '-3-125',
 '+3+110',
 '-3-130',
 '+3-105',
 '-3-115',
 '+3+110',
 '-3-120']

共有1个答案

司空鸣
2023-03-14

尝试:

#####################################################################################################################

 类似资料:
  • 我最近问了一个问题(这里引用:Python Web Scring(Beautiful Soup、Selenium和PhantomJS):只刮整页的一部分),这有助于确定我在滚动时动态更新的页面上刮所有内容时遇到的问题。然而,我仍然无法使用selenium来使用代码指向正确的元素,并迭代地向下滚动页面。我还发现,当我手动向下滚动页面时,有一些原始内容在页面加载时消失,而新内容则更新。例如,看下面的图

  • 问题内容: 我已经写了很多刮板,但是我不确定如何处理无限滚动条。如今,大多数网站,Facebook,Pinterest等都有无限滚动条。 问题答案: 您可以使用硒来刮除Twitter或Facebook之类的无限滚动网站。 步骤1:使用pip安装Selenium 第2步:使用下面的代码自动执行无限滚动并提取源代码 步骤3:根据需要打印数据。

  • 问题内容: 我有一个网页,当向下滚动页面直到每个项目都被加载时,它会不断加载新项目。 我正在使用Java中的Selenium,需要向下滚动到页面底部才能加载所有内容。 我尝试了几种不同的选项,例如滚动到页面底部的元素: 不过,这只会向下滚动一次,然后网页会继续加载。 我也尝试过这种方法,该方法也只能向下滚动一次,因为它只考虑了浏览器的高度。 非常感谢您的帮助。 问题答案: 我将为此提供Python

  • 我有一个网页,不断加载新项目时,向下滚动页面,直到每个项目都加载。 我正在使用Java中的Selenium,需要向下滚动到页面底部才能加载所有内容。 我尝试了几种不同的选项,比如滚动到页面底部的某个元素: 这只是向下滚动一次,然后网页继续加载。 我也尝试过这种方法,它也只向下滚动一次,因为它只考虑了浏览器的高度。 任何帮助都非常感谢。

  • 我试图刮这个网站:https://ec.europa.eu/research/mariecurieactions/how-to/find-job_en使用Python。 首先,我注意到我感兴趣的表实际上位于以下url:https://ec.europa.eu/assets/eac/msca/jobs/import-jobs_en.htm 然而,请求BS4只给我超文本标记语言的页面源。我假设这是因为

  • 定义 滚动加载组件,可选方向(向上滚动、向下滚动)。 图片展示 代码演示 import InfiniteLoader from 'pile/dist/components/infiniteloader' import PermissionsCard from 'pile/dist/components/permissionsCard' const _Ringloading = React.cre