4
我正在使用Windows 7和scrappy交互式控制檯(基於IPython)。Scrappy的方法re()不能與Unicode字符串一起工作
我做教程
一步Trying Selectors in the Shell如果我抓住一些網站以英文字母的標題,全是好的,就像在教程:
In [5]: hxs.select('//title/text()').re('(\w+):')`
Out[5]: [u'Computers', u'Programming', u'Languages', u'Python']`
但是,如果我搶到網站與非 - 英語字母(俄羅斯,Unicode的),重()方法不返回任何東西:
In [25]: hxs.select('//title/text()').re('(\w+)')
Out[25]: []
中有標題一些文字,它不是空的:
In [24]: hxs.select('//title/text()').extract()
Out[24]: [u'\u041b\u043e\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u043e\u0432']
幫幫我,我可以使用scrapy的re()與unicode符號嗎?
謝謝,已經編譯regeex做工精細! – 2012-03-06 03:26:36
但是你有什麼想法爲什麼re.UNICODE標誌默認情況下適用於正則表達式? – 2012-03-06 03:28:04
我會希望Scrapy在內部設置該標誌,但是在源代碼中查看[否則指示](https://github.com/scrapy/scrapy/blob/0.15.1/scrapy/utils/misc.py #L69)。 – 2012-03-06 03:38:31