Python scrapy支持xpath中的正则表达式吗?

Python scrapy支持xpath中的正则表达式吗?,python,xpath,scrapy,Python,Xpath,Scrapy,没有错误,也没有输出 这些以及您文章中的其他内容都是有效的XPath,但不使用正则表达式,它们只是针对看起来像正则表达式的字符串进行测试。如果您想知道Scrapy是否支持它,这是XPath2.0的一部分。我不知道什么发动机刮使用下面,但你会收到一个错误,如果它失败 此外,你的正则表达式看起来有点奇怪。您使用的是[jsheadline\]+,这是一个一个或多个重复字符类,但它看起来似乎要测试字符串“jsheadline\。如果是这种情况,您可以使用contains()函数和substring-be

没有错误,也没有输出

这些以及您文章中的其他内容都是有效的XPath,但不使用正则表达式,它们只是针对看起来像正则表达式的字符串进行测试。如果您想知道Scrapy是否支持它,这是XPath2.0的一部分。我不知道什么发动机刮使用下面,但你会收到一个错误,如果它失败


此外,你的正则表达式看起来有点奇怪。您使用的是
[jsheadline\]+
,这是一个一个或多个重复字符类,但它看起来似乎要测试字符串
“jsheadline\
。如果是这种情况,您可以使用
contains()
函数和
substring-before()
substring-after()
函数来测试是否存在后跟一些数字的字符串。这些函数适用于任何版本的XPath,只需在谷歌上搜索它们,你就会发现大量的例子。

2015-09-16 16:13:23[scrapy]信息:蜘蛛打开2015-09-16 16:13:23[scrapy]信息:抓取0个页面(以0页/分钟的速度),抓取0个项目(以0个项目/分钟的速度)该评论的相关性是什么?如果这是您问题的一部分,请单击问题下方的链接,并将其添加到问题中。另见。
hoteldata = response.selector.xpath("//*[@id='js_itemlist']")
    for hoteldata in hoteldata:
        title = hoteldata.xpath("//*[@id='([jsheadline_]+\d{5}[0-9])']/span/text()").extract()
        partner_name = hoteldata.xpath("//*[@id='([js_item_]+\d{5}[0-9])']/div[1]/div[2]/div[3]/strong[1]/text()").extract()
        price_single = hoteldata.xpath("//*[@id='([js_item_]+\d{5}[0-9])']/div[1]/div[2]/div[3]/strong[2]/text()").extract()
        print title, partner_name, price_single
//*[@id='([jsheadline_]+\d{5}[0-9])']/span/text()