我使用selenium在python中编写了一个脚本,用于从网页中解析数据。但是,当我运行它时,我会在单列而不是表格格式中删除数据。我应该在脚本中进行哪种更改以获取表格格式的数据?这是我到目前为止所尝试的内容:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://fantasy.premierleague.com/player-list/")
table_data = driver.find_elements_by_xpath("//table[@class='ism-table']")[0]
for item in table_data.find_elements_by_xpath(".//td"):
print(item.text)
driver.quit()
表格格式的含义如下所示。但是,我在单个列中获取数据而不是如下所示的几个列。
答案 0 :(得分:1)
尝试
for item in table_data.find_elements_by_xpath(".//tr"):
print(item.text.split())
它会分别为每个玩家提供一个列表。
请注意,.find_elements_by_xpath()中的标记已更改
此外, 你可以像这样制作可读的表格:
...(your previous code)...
data=[]
for item in table_data.find_elements_by_xpath(".//tr"):
data.append(item.text.split())
format_table = '{:8s}' + 4 * '{:>10s}'
for lst in data:
print(format_table.format(*lst))
另一个版本(用#34; de Goa"等空格正确地抓住名字):
data=[]
temp=[]
for item in table_data.find_elements_by_xpath(".//tr"):
for i in item.find_elements_by_xpath('td'):
temp.append(i.text)
data.append(temp)
temp=[]