def parse_header(table):
ths = table.xpath('//tr/th')
if not ths:
ths = table.xpath('//tr[1]/td') # here is the problem, this will find tr[1]/td in all html file insted of this table
# bala bala something elese
doc = html.fromstring(html_string)
table = doc.xpath("//div[@id='divGridData']/div[2]/table")[0]
parse_header(table)
我想在表中找到所有的tr[1]/td
,但是table.xpath("//tr[1]/td")
仍然在html文件中找到所有。如何在这个元素而不是所有的html文件中找到?
编辑:
content = '''
<root>
<table id="table-one">
<tr>
<td>content from table 1</td>
<tr>
<table>
<tr>
<!-- this is content I do not want to get -->
<td>content from embeded table</td>
<tr>
</table>
</table>
</root>'''
root = etree.fromstring(content)
table_one = root.xpath('table[@id="table-one"]')
all_td_elements = table_one.xpath('//td') # so this give me too much!!!
现在我不想要嵌入的表内容,我该怎么做呢?
目前没有回答
相关问题 更多 >
编程相关推荐