2016-03-20 24 views
0

Şu anda Nokogiri'yi kullanarak ekran kazıyorum. Chrome eklentisi "Xpath Helper" ı kullanarak bir öğe seçebilsem de, Nokogiri'yi kullanarak sistematik olarak seçemiyorum.Nokogiri içinde XPath kullanılarak seçilemiyor

On http://bet.hkjc.com/racing/pages/odds_wp.aspx?lang=en&date=20-03-2016&venue=ST&raceno=1'detailWPTable' kimliğiyle adlandırılan tablonun tüm satırlarını çaprazlamaya çalışıyorum ve sütun verilerini dışarı çekmeye çalışıyorum.

yılında Rails'in konsol, ben aşağıdakileri yapın:

require 'open-uri' 
require 'nokogiri' 

html_data = open("http://bet.hkjc.com/racing/pages/odds_wp.aspx?lang=en&date=20-03-2016&venue=ST&raceno=1").read 
doc = Nokogiri::HTML(html_data) 
entries = doc.xpath("//div[contains(@id, 'detailWPTable')]/table/tbody/tr[position()>1]") 

Ancak, ben entries diziye bakınca, bu [] boştur.

Bunun neden böyle bir fikri var? Open-uri ile okunduğunuzda, id detayıyla birlikte divanınız ve tablolarınız kullanılamaz.

+0

Yığın Taşması'na Hoş Geldiniz. Lütfen "[sor]" ve "[mcve]" mesajlarını okuyun. Sorguyu, almak ve taramak zorunda olduğumuz bir bağlantı olarak değil, SORU DAHİL OLMAK için gerekli olan minimum giriş HTML'sine ihtiyacımız var. Gelecekte başkalarına yardım ettiğimiz için size yardım etmemize yardımcı olun. –

+0

Bir kazıma projesi başlatırken, ham HTML'ye bakmak ve bir tarayıcıda gördüğünüze güvenmek için 'wget' veya' curl' veya 'nokogiri some_url' kullanmak her zaman harika bir fikirdir. Tarayıcılar, bir sayfayı görüntülemeden önce, HTML'yi düzeltmek ve herhangi bir DHTML yürütmek de dahil olmak üzere, her ikisi de tarayıcının kaynak görünümünü kullanırsanız gördüğünüz HTML'yi etkileyebilecek şeyler yapar. –

cevap

0

puts doc = Nokogiri::HTML(html_data) 

bet.hkjc.com sitesinde sonradan çalışan bazı ajax istekleri.