使用Scrapy,有没有办法在页面的标记中找到类的一部分,例如,如果我有多个类,比如"name-1,name-2,name-3",我如何才能只找到基类?即“名称-”
发布于 2015-05-29 06:21:53
您还可以在纯XPath或CSS选择器方法中应用“starts with”检查:
response.xpath('//*[starts-with(@class, "name-")]')
response.css('[class^="name-"]')发布于 2015-05-29 01:33:38
Scrapy选择器接受正则表达式,请参见http://doc.scrapy.org/en/latest/topics/selectors.html#regular-expressions
from scrapy import Selector
html = """
<a class="name-1" href="#">foo</a>
<a class="name-2" href="#">bar</a>
<a class="name-3" href="#">foo</a>
<a class="name-foo" href="#">teststr</a>
"""
sel = Selector(text=html, type="html")
print sel.xpath('//a[re:test(@class, "name-\d$")]').extract()https://stackoverflow.com/questions/30512983
复制相似问题