【发布时间】:2019-12-29 11:56:19
【问题描述】:
我正在尝试从 ProFootball 参考资料中抓取得分数据。在遇到 javascript 问题后,我转向 selenium 来获取初始的汤对象。我试图在网站上找到一个特定的表,然后遍历它的行。
代码字如果我只是 find_all('table')[#] 但是 # 会根据我正在查看的盒子分数而变化,因此它不可靠。因此,我想使用 id='player_offense' 标签来识别跨游戏的同一张桌子,但是当我使用它时,它什么也不返回。我在这里错过了什么?
from selenium import webdriver
import os
from bs4 import BeautifulSoup
#path to chromedriver
chrome_path=os.path.expanduser('~/Documents/chromedriver.exe')
driver = webdriver.Chrome(path)
driver.get('https://www.pro-football-
reference.com/boxscores/201709070nwe.htm')
soup = BeautifulSoup(driver.page_source,'lxml')
driver.quit()
#doesn't work
soup.find('table',id='player_offense')
#works
table = soup.find_all('table')[3]
【问题讨论】:
-
soup.table 是不是一个有效的属性?
-
你试过
soup.find('table', id='player_offense')吗? -
soup.find('table', id='player_offense')而不是soup.table.find('table',id='player_offense')错误 -
嗨,抱歉,我正在搜索soup.find('table',id='player_offense')。我一定是改了代码,忘了改回来。修改问题=
标签: python pandas selenium beautifulsoup