【发布时间】:2018-06-05 23:27:22
【问题描述】:
我使用xpath 在python 中编写了一个脚本来解析网页中的表格数据。执行后,它能够完美地解析表中的数据。我唯一无法修复的是解析table header,这意味着th 标签。如果我使用 css 选择器做同样的事情,我可以使用 .cssselect("th,td") 但如果是 xpath 我就卡住了。关于如何解析来自th 标签的数据的任何帮助也将不胜感激。
这是能够从不同表中获取所有内容的脚本,th 标签内的数据除外:
import requests
from lxml.html import fromstring
response = requests.get("https://fantasy.premierleague.com/player-list/")
tree = fromstring(response.text)
for row in tree.xpath("//*[@class='ism-table']//tr"):
tab_d = row.xpath('.//td/text()')
print(tab_d)
【问题讨论】:
-
期望的输出是什么?您想从每个 tr 中获取 th 节点和 td 吗?
-
提前向两位关心为我提供出色解决方案的 xpath 巨头道歉。很难选择一个解决方案而不是另一个解决方案。但是,我正在考虑将我第一个得到的答案作为我选择的答案。
标签: python python-3.x xpath web-scraping lxml