Mic*_*Hua 3 regex xpath scrapy
我正在运行scrapy 0.20.2。
$ scrapy shell "http://newyork.craigslist.org/ata/"
Run Code Online (Sandbox Code Playgroud)
我想将所有指向广告页面的链接列表与 index.html 分开
$ sel.xpath('//a[contains(@href,html)]')
...
<Selector xpath='//a[contains(@href,"html")]' data=u'<a href="/mnh/atq/4243973984.html">Wicke'>,
<Selector xpath='//a[contains(@href,"html")]' data=u'<a href="/mnh/atd/4257230057.html" class'>,
<Selector xpath='//a[contains(@href,"html")]' data=u'<a href="/mnh/atd/4257230057.html">Recla'>,
<Selector xpath='//a[contains(@href,"html")]' data=u'<a href="/ata/index100.html" class="butt'>]
Run Code Online (Sandbox Code Playgroud)
我想使用 XPath 匹配函数来匹配 regex 形式的链接[0-9]+.html。
$ sel.xpath('//a[matches(@href,"[0-9]+.html")]')
...
ValueError: Invalid XPath: //a[matches(@href,"[0-9]+.html")]
Run Code Online (Sandbox Code Playgroud)
怎么了?谢谢你。
matches是一个 XPath 2.0 函数,scrapy 只支持 XPath 1.0(它没有任何内置的正则表达式支持)。您必须使用scrapy 选择器提取所有链接,然后在Python 级别而不是在XPath 中进行正则表达式过滤。
| 归档时间: |
|
| 查看次数: |
1894 次 |
| 最近记录: |