나는 노코 기리에 대해 의구심이 있으며, 페이지에서 HTML 요소를 가져와 각각에 대해 xpath를 얻어야합니다. 문제는 노코 기리 (nokogiri)로 어떻게하는지 깨닫지 못한다는 것입니다. 다른 웹 사이트에서 여러 페이지를 구문 분석해야하기 때문에 HTML 코드는 임의적입니다.nokogiri로 html 요소를 얻을 수 있습니까?
1
A
답변
5
당신이 노드를 검색하는 방법을 요구하는 경우에, 당신은과 같이, CSS 또는 XPath는 하나 표현을 사용할 수 있습니다 :
require 'rubygems'
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open("http://slashdot.com/"))
node_found_by_css = doc.css("h1").first
node_found_by_xpath = doc.xpath("/html/body//h1").first
당신이 요청하는 경우 어떻게 노드를 찾았 으면, 당신이 할 수있는 당신과 같이 Node#path
을 사용할 수 있습니다, 그것을 위해 정식 XPath 식을 검색 :
puts node_found_by_css.path # => "/html/body/div[3]/div[1]/div[1]/h1"
0
한 페이지에서 각 HTML 요소에 대한 XPath를 얻는 방법을 요구하는 경우, 다음은 도움이 될 것입니다. 그러면 페이지가 열리고 구문 분석 된 다음 각 요소에 대한 XPath가 인쇄됩니다.
require 'rubygems'
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open("http://slashdot.com/"))
doc.traverse {|node| puts node.path }
관련 문제
- 1. jQuery로 오프너의 요소를 어떻게 얻을 수 있습니까?
- 2. 메커니즘은 목록에서 요소를 얻을 수
- 3. Nokogiri로 전체 HTML 노드 찾기 및 바꾸기
- 4. HTML 요소를 밝은 부분으로 만들 수 있습니까?
- 5. 일반적인 HTML 구성 요소를 만들 수 있습니까?
- 6. Nokogiri로 스타일 시트를 구문 분석 할 수 있습니까?
- 7. GWT - 서버에서 새 HTML 요소를 만들 수 있습니까? 아니면 클라이언트에로드 된 HTML 요소를 업데이트 할 수 있습니까?
- 8. nokogiri로 XHTML의 유효성을 검사하려면 어떻게해야합니까?
- 9. 어떻게 부모 요소를 기준으로 자식 요소의 위치를 얻을 수 있습니까?
- 10. 현재 선택 영역을 포함하고있는 DOM 요소를 어떻게 얻을 수 있습니까?
- 11. 리퍼러를 얻을 수 있습니까?
- 12. Nokogiri로 XML 구문 분석
- 13. html + css3로 이미지 클리핑/마스킹 효과를 얻을 수 있습니까?
- 14. HTML 소스 코드에서 글꼴 색을 어떻게 얻을 수 있습니까?
- 15. 어떻게 파이썬에서 html 문자열의 일부분으로부터 링크와 제목을 얻을 수 있습니까?
- 16. Well Structure CSS 스타일의 html 프로필을 어떻게 얻을 수 있습니까?
- 17. 어떻게 asp.net에서 선택한 텍스트에서 HTML 코드를 얻을 수 있습니까?
- 18. 문자열에서 HTML 코드 조각을 어떻게 얻을 수 있습니까? C#
- 19. 어떻게 div HTML 요소를 "unstyle"할 수 있습니까?
- 20. HTML 요소를 필드 집합/범례로 지정할 수 있습니까?
- 21. 어떻게 HTML 요소를 다른 요소와 동기화하여 크기를 조정할 수 있습니까?
- 22. Firefox가 자동으로 html 요소를 미리로드 할 수 있습니까?
- 23. 본문에있을 때도 HTML 스크립트 요소를 외부로 사용할 수 있습니까?
- 24. 어떻게 TinyMCE에 (다른) 잘못된 HTML 요소를 추가 할 수 있습니까?
- 25. 줄 바꿈없이 HTML <style> 요소를 사용할 수 있습니까?
- 26. 어떻게 포토샵으로 만든 레이아웃에서 HTML 요소를 배치 할 수 있습니까?
- 27. jquery find()는 id와 html 요소를 결합 할 수 있습니까?
- 28. CSS/HTML : 요소를 잘
- 29. 어디에서 wlWriterEditableSmartContent를 얻을 수 있습니까?
- 30. 어디에서 FlexAntTasks.jar를 얻을 수 있습니까
첫 번째 요소 만 원할 경우'doc.at_css ("h1)'을 사용하십시오. – akuhn