【发布时间】:2015-10-16 18:49:52
【问题描述】:
我正在使用 Python 中的 lxml 抓取网页,并尝试获取名为 (Table3) 的表下的文本。在此表下,您可以在下面的代码中看到 tr 的数量,然后每个 tr 下有 4 个 td。
我想要的是在列表中的所有 tr 下打印 td1 的文本。
这是 HTML 代码:
<table width="100%" cellspacing="1" cellpadding="0" border="0" class="Table3">
<TBODY>
<TR>
<Th class="calibri-12" align="center">Symbol</Th>
<Th class="calibri-12" align="center">CompanyName</Th>
<Th class="calibri-12" align="center">Short Name</Th>
<Th class="calibri-12" align="center">ISIN Code</Th>
</TR>
<TR>
<TD >1330</TD>
<TD >ALKHODARI</TD>
<TD >SA12L0O0KP12</TD>
</TR>
<TR>
<TD >4001</TD>
<TD >A.Othaim Market</TD>
<TD >SA1230K1UGH7</TD>
</TR>
<TR>
<TD >1820</TD>
<TD >Al Hokair Group</TD>
<TD >SA13IG50SE12</TD>
</TR>
以及我在这里使用的代码:
from lxml import html
import requests
page = requests.get('http://www.example.com')
tree = html.fromstring(page.content)
code_test = tree.xpath('//table[@class = "Table3"]//td[1]')
print code_test
结果是这样的:
<Element td at 0x7f4e7bbf5b50>, <Element td at 0x7f4e7bbf5ba8>, <Element td at 0x7f4e7bbf5c00>, <Element td at 0x7f4e7bbf5c58>, <Element td at 0x7f4e7bbf5cb0>, <Element td at 0x7f4e7bbf5d08>, <Element td at 0x7f4e7bbf5d60>, <Element td at 0x7f4e7bbf5db8>, <Element td at 0x7f4e7bbf5e10>, <Element td at 0x7f4e7bbf5e68>, <Element td at 0x7f4e7bbf5ec0>, <Element td at 0x7f4e7bbf5f18>, <Element td at 0x7f4e7bbf5f70>, <Element td at 0x7f4e7bbf5fc8>, <Element td at 0x7f4e7bbf6050>, <Element td at 0x7f4e7bbf60a8>, <Element td at 0x7f4e7bbf6100>, <Element td at 0x7f4e7bbf6158>, <Element td at 0x7f4e7bbf61b0>, <Element td at 0x7f4e7bbf6208>]
【问题讨论】:
标签: python html xpath text lxml