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

BS4和刮取更新表

云卓
2023-03-14

我正试图从whoscored.com(下面的变量根链接)中删除到EPL所有球员的链接,这里是代码:

from bs4 import BeautifulSoup
from selenium import webdriver
root = "https://www.whoscored.com/Regions/252/Tournaments/2/Seasons/6335/Stages/13796/PlayerStatistics/England-Premier-League-2016-2017"
driver = webdriver.PhantomJS()
driver.get(root)
page = driver.page_source
soup = BeautifulSoup(page, "html.parser")
players = soup.find("div", {'id':'statistics-table-summary'})

print(players)

如果你进入这个页面,你会看到一个玩家列表和一个下一个按钮来显示下一个10个玩家(其中有284个在29页)我想要的输出:保存链接到每个10个玩家的配置文件,然后移动到下一个页面与下一个10个玩家直到完成

共有1个答案

穆招
2023-03-14

在获取.page_source:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# ...

driver.get(root)

# wait for at least one player to be present in the statistics table
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#statistics-table-summary .player-link")))

page = driver.page_source
driver.close()

# ...
 类似资料:
  • ***我的代码只用于练习! 我试图从FPL的网站上删除每个玩家的名字和团队https://www.premierleague.com/我的代码有一些问题。 问题是它只得到的页面与'-1'在网址的末尾,whch我甚至没有灌输在我的页面列表! 页面没有任何逻辑-基本url是https://www.premierleague.com/players?se=363 我的代码:

  • 嗨,我终于能够设置我的webscraper,并将数据导入到我的网页中:) 但是我的网页在端口3001上运行,而网页刮刀在端口8080上运行,我有点困惑,我怎么能设置一个计时器来更新后台的刮刀? Scraper.js 弗雷德里克

  • 我如何从我检查的源(如图像所示)中刮取输入标记的值属性中的数据? 我试过使用BeautifulSoup和Selenium,但它们对我都不起作用。 部分代码如下: 这将返回错误。 事实上,当我尝试时,很多源代码数据似乎丢失了。我怀疑这可能是与JS相关的问题,但是Selenium--它大部分时间都在呈现JS--在这个站点上对我不起作用。知道为什么吗? 我也试过这些: 返回,而返回源,其中大部分输入标记

  • 我正在尝试创建一个dataframe,它可以显示和更新dataframe上的数据。我找到这个方法来创建一个循环并输出数据,它看起来是这样的: 我想创建一个dataframe来存储输出,并使用循环函数来更新行中的数据,请问有没有解决方案来解决它?

  • 问题内容: 我是angular.js的新手,在看似简单的任务上遇到了一些麻烦。 我需要从网站上的json文件中获取下面的json,然后将键(英语,西班牙语等)放入我的html文件中的标签标记中,然后加载其对应的值(0、1、3、2、1 )转换成html范围输入。 json文件包含: 加载json后产生的html应该如下所示: 最后,我想在表单上单击“保存”,并在json文件上在线更新相应键的值。 生

  • 实现一个刮刮乐的刮奖效果。即用手指滑动刮奖区,会刮去上面一层视图,显示下面一层视图的内容。 [Code4App.com]