如何获得此表的Xpath是否正确?

时间:2014-06-24 09:03:55

标签: xpath scrapy

<table border="0" cellpadding="2" width="100%">
   <tbody><tr>
      <td width="18%" valign="top"><b>**Member Id:<**/b></td>
      <td width="36%" valign="top"><b>**00600**</b></td>
     </tr>
     <tr>
      <td valign="top"><b>**Unit Name**:</b></td>
      <td colspan="3" valign="top"><b>**A. D. ENGINEERING WORKS**</b></td>
     </tr>
     <tr>
      <td width="18%" valign="top"><b>**Contact Person**:</b></td>
      <td valign="top">
        <p align="left">**S.p. Sharma**</p></td>
     </tr>
    </tbody>
</table>

这是Html代码 我正在提取会员ID,单位名称和联系人。任何人都可以为我提供正确的xpath 更新 - 这是我的蜘蛛代码

 def parse(self, response):

 hxs = HtmlXPathSelector(response)

 titles = hxs.select('//table//tr')

 items = []

 for titles in titles:

       item = AmazonItem()

       item ["Member"] = titles.select("table/tbody/tr[1]/td[2]/b").extract()
       item ["unit name"] = titles.select("table/tbody/tr[3]/td[2]/b").extract()
       item ["contact person"] = titles.select("table/tbody/tr[3]/td[2]/b").extract()
       items.append(item)
  return items

1 个答案:

答案 0 :(得分:1)

这应该有效,只要这是您正在阅读的整个HTML:

成员Id:

"table/tbody/tr[1]/td[2]/b"

单位名称:

"table/tbody/tr[2]/td[2]/b"

联系人:

"table/tbody/tr[3]/td[2]/b"

编辑:根据下面的hielsnoppe修改了XPath查询。是选择第一个td(字段名称),而不是td编号2,实际值。

相关问题