Извлечение URL, где текст соответствует регулярному выражению - с XPath 1.0 - PullRequest
3 голосов
/ 19 июня 2011

Я хотел бы извлечь URL этого типа (текст ссылки - это число с любым количеством цифр, а href - это произвольный текст), используя XPath в Scrapy.

Я мог бы подумать о чем-то вроде

HtmlXPathSelector(response).select('//a[matches(text(),"\d+")]/@href')

Однако кажется, что XPath2.0 не поддерживается, и я не могу использовать регулярные выражения.

Лучшее однострочное решение, которое я мог найти, было получено из этого вопроса: Выражение xpath для сопоставления, подобного регулярному выражению? - Есть ли лучший способ достичь этого в scrapy?

1 Ответ

3 голосов
/ 19 июня 2011
.select('//a[. != "" and translate(., "0123456789", "") = ""]/@href')
...