こんにちは私はちょうどhttps://github.com/ryandhaase/Web-Scraper/blob/master/airbnb_scraper.rbとhttps://medium.com/@tabor_francesca/web-scraper-airbnb-24d67939b08a#.mg7ny2tkeのチュートリアルを終えました。そして今私は練習中です。サブアレイを分割するのに問題があります。すべてが機能しますが、都市、州、および郵便番号を別々のExcelの列に分割することはできません。ruby nokogiriウェブスクレーパーで分割サブアレイ
次の行は間違っていますが、どうすれば修正できますか?
city << [subarray[0], "this is not working", subarray[1]]
私の推測では、修正が必要な別の行があります。ただ、FYIとして
require 'rubygems'
require 'nokogiri'
require 'open-uri'
require 'csv'
url = "https://www.tesla.com/findus/list/stores/United+States"
page = Nokogiri::HTML(open(url))
page = Nokogiri::HTML(open("https://www.tesla.com/findus/list/stores/United+States"))
puts page.class
name = []
street_address = []
extended_address = []
city = []
state = []
zip = []
page.css('a.fn.org.url').each do |line|
name << line.text.strip
end
page.css('span.street-address').each do |line|
street_address << line.text
end
page.css('span.extended-address').each do |line|
extended_address << line.text
end
page.css('span.locality').each do |line|
subarray = line.text.strip.split(/ · /)
if subarray.length == 3
city << subarray
else
city << [subarray[0], "this is not working", subarray[1]]
end
end
CSV.open("teslaStores.csv", "w") do |file|
file << ["Name", "Street Address", "Street Address Continued", "City", "State", "Zip"]
name.length.times do |i|
file << [name[i], street_address[i], extended_address[i], city[i], city[i][0], city[i][1]]
end
end
あなたが取得しているエラーは、何が、ところで、ルックスこれに
:
は、私はこれを変更しなければなりませんでした'if subarray.length == 3'を閉じるための' end'が欠けているようです。 – fanta行が間違っていて、修正する必要があるということを意味しますか?エラーは何ですか?結果に何が問題なのですか? –
ようこそスタックオーバーフローへ。あなたはあなたの質問にもう少し作業をする必要があります。 「[mcve]」をお読みください。問題の正確な問題を示すために最小限のコードが必要です。問題を表示する最小限のHTMLと予想される出力が必要です。それを複製する問題/コードを単純化すれば、オッズは良好です。解決策を見つけるでしょう。 CSVを削除し、データの検索と抽出に集中してから、目的のフォーマットに分割します。 "[ask]"とリンクされたページ、特にリンク先のページにも役立ちます。 –