Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将xpath应用于xpath操作的结果_Python_Xpath_Scrapy - Fatal编程技术网

Python 将xpath应用于xpath操作的结果

Python 将xpath应用于xpath操作的结果,python,xpath,scrapy,Python,Xpath,Scrapy,我可以以“嵌套”的方式应用Xpath吗? 我尝试了下面的解决方案,我希望第一行返回单个元素,然后通过应用第二个xpath表达式从中提取其链接。然而,我似乎做错了什么,第2行仍然返回第一个全局找到的a,而不是在我的中 aaa = response.xpath('//ul/li[@class="navitem")]') bbb = aaa.xpath('//a/@href').extract() 您可以使用: aaa = response.xpath('//ul/li[@class="navit

我可以以“嵌套”的方式应用Xpath吗? 我尝试了下面的解决方案,我希望第一行返回单个
  • 元素,然后通过应用第二个xpath表达式从中提取其链接。然而,我似乎做错了什么,第2行仍然返回第一个全局找到的a,而不是在我的
  • aaa = response.xpath('//ul/li[@class="navitem")]')
    bbb = aaa.xpath('//a/@href').extract() 
    
    您可以使用:

    aaa = response.xpath('//ul/li[@class="navitem")]')
    bbb = aaa[0].xpath('.//a/@href').extract()
    

    注意第二个XPath中的句点
    。这将选择所有锚元素的
    @href
    属性,这些锚元素是具有
    class=“navitem”
    li
    元素的后代。如果没有句点
    ,表达式
    aaa[0].xpath('//a/@href').extract()
    将从整个文档中的所有锚定标记返回
    @href
    属性。

    您看过aaa吗?它应该是一个列表。在本例中,我认为一个xpath
    '//ul/li[@class=“navitem”)][1]//a'
    也可以使用。我认为它应该是aaa[0]。。。。可能值得强调的是,如果没有前导点,OP的xpath将搜索整个文档。谢谢,我愚蠢地回答了这个问题,没有测试我的解决方案,因为我知道缺少了句点!