좋아요. 그래서 xpath 선택의 결과를 몇 개의 문자열과 비교하려고합니다. 그러나 선택에서 올바른 결과를 얻지 못하고 있다고 생각합니다.if 명령문 처리 xpath가 작동하지 않습니다.
내 코드는 다음
def parse_item(self, response):
for sel in response.xpath('//*[@id="tab:specificaties"]'):
category = sel.xpath('table/tbody/tr[2]/td[2]/a/text()').extract()
logging.warning(category)
if category == "Videokaarten":
logging.warning("Videokaart")
elif category == "Geheugen intern":
logging.warning("Geheugen")
elif category == "Moederborden":
logging.warning("Moederbord")
elif category == "Behuizingen":
logging.warning("Behuizing")
elif category == "Processors":
logging.warning("Processor")
elif category == "Voedingen":
logging.warning("Voeding")
elif category == "Processorkoeling":
logging.warning("Processorkoeling")
elif category == "Barebones":
logging.warning("Barebone")
그래서 난 할 노력하고있어 범주가 위에 언급 된 문자열과 일치하는 경우 확인하면 있으므로 적절하게 처리 할 수 있습니다. 로깅은 내 터미널에서
WARNING:root:[]
을 반환하는 범주 값을 확인하기위한 것입니다.
누군가가 케이스를 밝힐 수 있기를 바랍니다. 미리 감사드립니다! 당신이 XPath는에서 추출 할 때
일반적으로 xpath에서 추출 할 때 목록에 있습니다. 'if ... =='문을'if ... in ... : '로 변경해 보았습니까? – Anzel
코드에 [냄새] (http://en.wikipedia.org/wiki/Code_smell)이 있습니다. 엄청난 양의'if' 블록 대신'category' 사전과 경고 메시지를 사용하십시오. – alecxe