我正在寻找使用BeautifulSoup从网站(https://datagolf.org/performance-table)提取动态表的方法。但是,当我使用soup.find()
命令查找表的源代码时,输出中没有任何内容。这是我正在使用的代码:
url = 'https://datagolf.org/performance-table'
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
box = soup.find('div', {'class': 'table-div'})
box
上面代码的输出显示:
<div class="table-div">
</div>
当我将类更改为时,class_='table'
输出将显示为空白。对这里发生的事情有什么想法吗?可能是我要求输入错误的源代码吗?
我用美丽的汤尝试了一下,但是没有用,但是可以和硒一起用。我为此编写了一个代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox(executable_path='geckodriver.exe')
driver.get("https://datagolf.org/performance-table")
l = []
l1 = []
#a = driver.find_element_by_class_name('table')
#print(a.text) # this will print all of the table content
b = driver.find_elements_by_class_name('datahead')
for d in b:
l1.append(d.text)
l1.pop(5)
l.append(l1)
c = driver.find_elements_by_class_name('datarow')
l1 = []
for d in c:
e = d.text
e = e.split('\n')
l.append(e)
print(l) # this will print table as a list
driver.close()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句