Xpath:如何使用XPath提取链接名称

第016章
<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>   

我想从中提取动作一词,如何编写相关的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命名空间,此处未给出。在查询中指定它们(如果存在)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章