0

まだ発見していないコードのばかげたバグかもしれませんが、かなり時間がかかりました: nokogiri と xpath を使用して Web サイトを解析し、xpath の内容を .csv ファイルに保存しようとすると、 csv ファイルに空のセルがあります。

基本的に、xpath のコンテンツが空を返すか、コードが Web サイトを正しく読み取れません。

これは私がやっていることです:

require 'open-uri'
 require 'nokogiri'
 require 'csv'

CSV.open("neverend.csv", "w") do |csv|
csv << ["kuk","date","name"]

#first, open the urls from a document. The urls are correct.
File.foreach("neverendurls.txt") do |line|    

#second, the loop for each url
searchablefile = Nokogiri::HTML(open(line))

#third, the xpaths. These work when I try them on the website.
kuk = searchablefile.at_xpath("(//tbody/tr/td[contains(@style,'60px')])[1]")
date = searchablefile.at_xpath("(//tbody/tr/td[contains(@style,'60px')])[1]/following-sibling::*[1]")
name = searchablefile.at_xpath("(//tbody/tr/td[contains(@style, '60px')])[1]/following-sibling::*[2]")

#fourth, saving the xpaths
csv <<  [kuk,date,name]

end 
end

ここで何が欠けていますか?

4

1 に答える 1

1

あなたが投稿したものから見分けることは不可能ですが、cssで混乱していることをきれいにしましょう:

kuk  = searchablefile.at 'td[style*=60px]'
date = searchablefile.at 'td[style*=60px] + *'
name = searchablefile.at 'td[style*=60px] + * + *'
于 2012-11-13T10:57:03.053 に答える