0
은 내가 긁어하지만 그들 중 몇은 내가Nokogiri로 웹 스크랩하기 :: HTML과 Ruby - 당신이 찾고있는 것을 어떻게 처리 할 수 있습니까?
undefined method `attribute' for nil:NilClass (NoMethodError)
내 스크립트 오류를 찾고있는 무슨 필요가 없습니다 할 페이지의 99 %를 작동하는 스크립트를 가지고 코드는 주위를 둘러 보거나 디버깅하는 것보다는 약간 추악하지만 여기서는 내가하고있는 일이다. 내가 이것을 감지하고 오류를 처리 할 수있는 방법
doc = Nokogiri::HTML(open(url))
image_link = doc.css(".entry-content img")
temp = image_link.attribute('src').to_s
노코 기리에 의해 반환되는 이미지 링크가 전무되지 않을 경우 오류의 경우에는 .entry-콘텐츠 IMG가 없기 때문에 오류가 세 번째 줄에 있고 단순히 ?
작동하지 않습니다. 나는 그것을 시도했지만 nokogiri에서 반환 된 노드 집합은 0이 아닙니다. – srboisvert
@srboisvert 제 사과; 'css' (일치하지 않는 경우 빈 노드 집합을 반환)를 at_css ('nil'을 반환)로 변경하는 것을 잊었습니다. 나는이 변화에 대한 해답을 편집했다. 그러나, 나는 당신이 노드 셋에 대해 틀렸다고 믿습니다. 나를 위해'doc.css ("foo bar"). 비어 있습니까? # => '입니다. – Phrogz
사실 나는 비어 있다고 생각하니? Nodeset의 메소드가 트릭을 수행합니다. 당신은 내게 대답을주지 않았지만 당신은 내 뇌 혈전을 풀어 줬어. 감사. – srboisvert