2016-11-03 2 views
2

다음 코드를 사용하여 웹 페이지에서 특정 이미지를 긁습니다. 이 페이지에는 이미지 태그가있는 이미지가 여러 개 있습니다.이 코드는 어떻게 해석합니까? 이미지 태그가있는 첫 번째 이미지 만 저장하는 것으로 나타났습니다. 일반적으로 사실입니까?Nokogiri를 사용하여 이미지 저장

이 코드가 CSS를 위에서 아래로 읽기 시작하고 이미지 태그가있는 첫 번째 이미지를 찾으면 저장하고 더 이상 보지 않습니다. 왜냐하면 나는 그것을하기 위해서 필요하기 때문입니다.

PAGE = "http://example.com/page.html" 
require 'nokogiri' 
require 'open-uri' 
html = Nokogiri.HTML(open(PAGE)) 
src = html.at('.image')['src'] 
File.open("foo.png", "wb") do |f| 
    f.write(open(src).read) 
end 
+0

이것은 첫 번째'.image' 요소를 잡고'src' 속성을 다운로드합니다. 모든 이미지를 신경 쓰지 않습니다. 만약 그렇게했다면'at '대신'css' 메쏘드를 사용할 것입니다. 아마도'.css ('img')'를 사용하고 싶을 것이다. – tadman

+0

클래스'image' 또는 모든'img's를 가진 요소를 찾고 싶습니까? – nloveladyallen

답변

0

예,

  • html.at는 일치하는 첫 번째 요소 만
  • html.search가 귀하의 질문에 대답 하는가 일치하는 모든 요소

을 찾을 발견? 관련 메모에


, 그것은 <div> 태그
  • html.at("img.image")class="image"
  • html.at("img")에 처음 <img> 요소가 처음 발견 발견 예하더라도
    • html.at(".image")

      class="image" 어떤 요소를 발견 <img> 요소