2013-08-06 2 views
1

웹 사이트를 긁어 내기 위해 Scrapy, XPath 및 Python을 사용하고 있습니다. 결과를 얻을 때 \ r \ n 있습니다. Google 검색에서 내 XPath에 normalize-space()를 사용해야 함을 알았습니다. 나가 그것을 할 때, 아래에보십시오, 작동하지 않는다보십시오.XPath : 공간 함수가 작동하지 않습니다.

item ['runs'] = stats.select((normalize-space('//tr[@class="cell1"]/td[3]/text()')[count])).extract() 

가 나는 "글로벌 이름 정상화가 정의되지 않은 얻을 오류입니다.

어떤 아이디어?

+0

'정상화-space'는 XPath는 기능하지 파이썬 함수이다. – kev

+0

알았어요. 감사합니다 Kev – AngryWhopper

답변

6

normalize-space 것은 XPath를하지 파이썬의 일부입니다. 파이썬 또는 그런 기능이 없다 그래서 . 다른 libs와 그것의 올바른 사용은 (단지 샘플)이 같다 :.

그냥, 당신은 STR 방법을 사용할 수 있습니다 파이썬에서 AA 문자열의 공백을 삭제하기위한
stats.select('''//tr[normalize-space(td/text()) = 'User Name']''').extract() 

들어 예 : strip은 공백 및 공백을 제거합니다. normalize-space 같은

>>> '\r\n\rsample\r\n'.strip() 
'sample' 

뭔가 :

>>> ' '.join('\r\ns am \r\n ple\r\n'.split()) 
's am ple' 
+0

환상적! 나는 .strip()을 던져서 끝냈다. 나는 이것을 북마크하고 그것을 명심하겠습니다. 고맙습니다! – AngryWhopper

+0

다행! :) – zhangyangyu

관련 문제