我正在为一个项目尝试学习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"]/
您的 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)