在python中获取带有lxml的表的内容

时间:2016-11-11 17:22:13

标签: python xpath lxml

我有这张桌子:

<table class='table_small' style='width: 700px;'>
..

 <tr class=''>
                  <td style='text-align: center;'><span class='' style='white-space:nowrap'> 1</span></td>
                  <td></td>
                  <td>
                      <img src='https://apps.powerplaymanager.com/images/ppm/flags/gab.gif' style='vertical-align: middle;' title='' alt='' />&nbsp;<a href='./news/profile?id=1441'>besser </a>                  </td>
                  <td style='text-align: center;'>8</td>
                  <td style='text-align: center;'><span style='color: #FFFFFF; font-size:14px; text-decoration: none;'></span></td>
                  <td style='text-align: right;' title='Money won in the last 7 days.'>< <span class='' style='white-space:nowrap'>$ 10 000</span></td>
                </tr>


                    <tr class='td_grey'>
                  <td style='text-align: center;'><span class='' style='white-space:nowrap'> 2</span></td>
                  <td></td>
                  <td>
                      <img src='https://apps.powerplaymanager.com/images/ppm/flags/kna.gif' style='vertical-align: middle;' title='' alt='' />&nbsp;<a href='./news/profile?id=5931'>Kserks </a>                  </td>
                  <td style='text-align: center;'>9</td>
                  <td style='text-align: center;'><span style='color: #FFFFFF; font-size:14px; text-decoration: none;'></span></td>
                  <td style='text-align: right;' title='Money won in the last 7 days.'>< <span class='' style='white-space:nowrap'>$ 10 000</span></td>
                </tr>

.. Keeps going.

使用我编写的代码:

s = generateTree(baseUrl).xpath('/html/body/div/div[1]/div[8]/div/div[2]/table')[0]

for row in s:
    print([c.text for c in row.getchildren()])

其中“generateTree”是html.fromstring的简单包装器,为lxml生成一个“可读”的页面。

问题是,使用代码,我的输出是这样的:

[None, None, '\n                      ', '8', None, '$ 10 000']
[None, None, '\n                      ', '9', None, '$ 10 000']
[None, None, '\n                      ', '9', None, '$ 10 000']
[None, None, '\n                      ', '9', None, '$ 10 000']

我希望能够获得每个tr类的内容,例如:

tr 1[link : www.link.com, level : 3, money : 10,000]
tr 2[link : www.link.com, level : 6, money : 15,000]
..

尝试了上面的代码以及那个代码中的大量xpath,但没有任何效果。

编辑:请伙计们。 q.q

0 个答案:

没有答案