【发布时间】:2016-10-20 23:27:43
【问题描述】:
在 python 中使用 lxml 库我如何读取 html 表的 td 值?我尝试阅读 xpath 表,但找不到正确的参数来返回 td 值。谢谢大家,我很感激。
import sys
from glob import *
from lxml import etree, html
import requests
#Scan directory (current) and scrape the html files
dirScan = glob('html/*.*')
fileCount = 0
while(fileCount < len(dirScan)):
fileName = dirScan[fileCount]
page = open(fileName)
tree = html.fromstring(page.read())
tables = tree.xpath('//table')
print("Tables:",tables)
page.html
<table style="width:100%">
<tr align="right"><td>1</td><td>John</td><td>Smith</td>
<tr align="right"><td>2</td><td>Tody</td><td>Miller</td>
</table>
【问题讨论】:
-
你知道如何使用 xpath 吗?
-
不是真的,我找不到任何好的文档。我很想获取 tr align="right" 之后的所有 td 值,但我无法正确获取语法。
-
w3schools.com/xml/xpath_intro.asp
xpath("//table/tr[@align='right']/td") -
@PadraicCunningham 谢谢。我如何将其转换为字符串值。它显示为这样的元素列表.....=> [0]:
[1]: [2]: [3] : -
只需使用
xpath("//table/tr[@align='right']/td/text()")提取文本
标签: python html xpath web-scraping lxml