Scrapy:ValueError:XPath错误:无效的表达式

问题描述 投票:0回答:1

我正在为一个项目尝试学习scrapy。我收到此错误 ValueError: XPath error: Invalid expression 但我不明白我的脚本出了什么问题。

这是我的剧本

    def parse(self, response):
        yield {
            'user_agent': str(response.request.headers['User-Agent']),
            'links' : response.xpath('//a[@class="sc-996f251d-0 leAMGT"]/@href').getall()
        }



        next = response.xpath('//a[@title="Page suivante"]/')
        print(next)

这是抓取的页面的一部分:

        <a class="indexstyles__PaginateItem-sc-8rtl5h-3 YJHOY" title="Page suivante"  href="/locations_saisonnieres/offres/p-2">

这是错误:

      ValueError: XPath error: Invalid expression in //a[@title="Page  suivante"]/
python web-scraping scrapy scrapy-splash
1个回答
0
投票

您的 Xpath 中似乎有一个额外的 '/',这就是它显示错误的原因! 因此,不要使用

//a[@title="Page suivante"]/
,而是使用
//a[@title="Page suivante"]
,这样应该可以工作!

def parse(self, response):
    yield {
        'user_agent': str(response.request.headers['User-Agent']),
        'links' : response.xpath('//a[@class="sc-996f251d-0 leAMGT"]/@href').getall()
    }



    next = response.xpath('//a[@title="Page suivante"]/')
    print(next)
© www.soinside.com 2019 - 2024. All rights reserved.