2
Nokogiri로 http://www.pro-medic.ru/index.php?ht=246&perpage=all을 구문 분석하려고하는데 불행히도 페이지에서 모든 항목을 가져올 수 없습니다.Nokogiri로 큰 HTML 파일 구문 분석
이require 'open-uri'
require 'nokogiri'
html = Nokogiri::HTML open('http://www.pro-medic.ru/index.php?ht=246&perpage=all')
p html.css('ul.products-grid-compact li .goods_container').count
그것은 단지 83 항목을 반환하지만 실제 개수가 약 186
나는 문제가 open
될 수 있다고 생각이지만, 그 함수가 읽는 것 같다
내 간단한 테스트 코드는 HTML 페이지가 올바르게 표시됩니다.
누구나 같은 문제에 직면 했습니까?
스테판 감사합니다. 페이지 크기에 대한 제한이 있어야한다고 생각합니다. 그러나'html.css ('ul.products-grid-compact li .goods_container'). 카운트는 이제 계산하는 데 너무 많은 시간이 걸립니다. 속도를 높이는 방법이 있습니까? 아니면 큰 페이지 크기 때문일뿐입니다. – Aleksey
빠른 점검을 통해 마크 업이 손상되었음을 확인할 수 있습니다. 571의 깊이를 갖는 노드 트리가 생기고 그런 나무는 횡단하는데 아주 오래 걸립니다. Nokogiri에 먹이주기 전에 페이지를 위생 처리해야합니다. Safari를 사용하여 고정 된 버전의 페이지를 저장했으며 구성 변경없이 요소를 계산하는 데 단지 0.5 초가 걸렸습니다. – Stefan
스테판은 마크 업을 어떻게 확인합니까? 코드에서 자동으로 수행 할 수있는 방법이 있습니까? – Aleksey