python scrapy-get specific@href,当href包含特定字符串时

python scrapy-get specific@href,当href包含特定字符串时,python,xpath,scrapy,href,contains,Python,Xpath,Scrapy,Href,Contains,我的最终目标是获取href的最后一部分,即公司名称或品牌名称 使用以下示例,如何获取包含字符串的href,例如“品牌”或“业务” <a class="nocolorchange" href="/guides/brand/6429-ArmHammer"> <a class="nocolorchange" href="/guides/business/5928-ChurchDwightCoInc">

我的最终目标是获取
href
的最后一部分,即公司名称或品牌名称

使用以下示例,如何获取包含
字符串的
href
,例如“品牌”或“业务”

<a class="nocolorchange" href="/guides/brand/6429-ArmHammer">
<a class="nocolorchange" href="/guides/business/5928-ChurchDwightCoInc">

没有运气。谢谢。

首先,我不知道您是否正在使用
scrapy shell
,但测试这类东西会很有用

由于
匹配
仅在XPath 2.0中可用,您可以尝试:

//a[starts-with(@href, '/guides/business/')]

首先,我不知道您是否正在使用
scrapyshell
,但它可以用来测试这类东西

由于
匹配
仅在XPath 2.0中可用,您可以尝试:

//a[starts-with(@href, '/guides/business/')]
hrefs_xpath="//a/@href[contains(., 'business') or contains(.,'brand')]"

# with scrapy, you extract this xpath pattern
hrefs=response.xpath(hrefs_xpath).extract()

# then extract company names
companies=[href.rpartition('/')[-1] for href in hrefs]