Xpath:如何使用 xpath 提取 link 名称

Xpath : how to extract link name using xpath

<table class="genre-table" width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody>
  <tr class="odd">
    <td width="50%">
       <h3>
            <a href="http://www.imdb.com/genre/action/?ref_=gnr_mn_ac_mp">Action <span class="normal">»</span>
            </a>     
       </h3>   

我想从中提取action这个词,相关的xpath怎么写,求助

我试过了,但什么也没有打印出来,只是空白 -->

    print genre.xpath('//*[@class="genre-table"]/tbody/tr[1]/td[1]/h3/a/text()')

给定的作品:

>>> import lxml.etree
>>> content='''
<table class="genre-table" width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody>
  <tr class="odd">
    <td width="50%">
       <h3>
            <a href="http://www.imdb.com/genre/action/?ref_=gnr_mn_ac_mp">Action <span class="normal"></span>
            </a>
       </h3></td></tr></tbody></table>'''
>>> genre = lxml.etree.fromstring(content)
>>> print genre.xpath('//*[@class="genre-table"]/tbody/tr[1]/td[1]/h3/a/text()')
['Action ', '\n            ']

这轮事件有两个常见原因:

  1. 您是根据浏览器提供给您的 DOM 视图构建查询,因此您的实际文档与您在此处剪切和粘贴的内容不匹配。浏览器撒谎(或者更确切地说,重新格式化 HTML 以匹配理想化的 DOM 模型)。使用 curl | less.
  2. 本文档其他部分定义的 XML 个名称空间未在此处给出。如果它们存在,请在查询中指定它们。