【发布时间】:2017-06-24 13:03:42
【问题描述】:
我在 python 中编写了一个脚本,使用 selenium 从网页中的表格中解析数据。但是,当我运行它时,我会在单个列中而不是表格格式中获取数据。我应该在脚本中进行什么类型的更改以获取表格格式的数据?到目前为止,这是我尝试过的:
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()
我所说的表格格式如下所示。但是,我在单列中获取数据,而不是像下面这样的多列。
【问题讨论】:
-
您不需要指定前锋、中场、守门员和后卫的球员吗?你循环数据的方式不会给你这个字符。一般来说,硒也太“重”了,我只会将它用作最后的选择。您正在解析的这个特定页面结构良好,我建议使用 BeautifulSoup。
-
“表格格式”是什么意思?请具体说明。
-
他想要呈现的表格.. 但正如您所知,当您刮掉整个表格行时,然后使用带有范围的另一个循环......我的意思是......这是常见的事情在每个方面列表中将所有项目或值一起刮掉,然后使用熊猫将它们全部拍打在一起......或者在每个克洛姆都有它的值和键之后......格式打印或打印所有在同一时间...我的意思是...没有bs4?你需要一个真正的解析器
-
啊,好吧...,刚刚看到您的照片...您必须按列拆分表格,以便您创建一个列表,然后可以在范围内重复范围并格式化打印输出...更多解释起来比大声笑更复杂......不能通过一个大文本拆分来迭代......]
-
真的很好!!您可以拆分... b
标签: python-3.x selenium selenium-webdriver web-scraping