私はしばらくの間、.uniqメソッドを使用して、/ informaticsパス内のWebサイトからURLの一意のリストを生成しようとしています。何を試しても、リストを生成しようとするとメソッドエラーが発生します。私はそれが構文上の問題だと確信しています、そして、私は誰かが私を正しい方向に向けることを望んでいました。nokogiriを使ってすべての一意のURLを取得する
リストを取得したら、これらをActiveRecord経由でデータベースに保存する必要がありますが、その前に独自のリストを作成する前に固有のリストが必要です。
require 'nokogiri'
require 'open-uri'
require 'active_record'
ARGV[0]="https://www.nku.edu/academics/informatics.html"
ARGV.each do |arg|
open(arg) do |f|
# Display connection data
puts "#"*25 + "\nConnection: '#{arg}'\n" + "#"*25
[:base_uri, :meta, :status, :charset, :content_encoding,
:content_type, :last_modified].each do |method|
puts "#{method.to_s}: #{f.send(method)}" if f.respond_to? method
end
# Display the href links
base_url = /^(.*\.nku\.edu)\//.match(f.base_uri.to_s)[1]
puts "base_url: #{base_url}"
Nokogiri::HTML(f).css('a').each do |anchor|
href = anchor['href']
# Make Unique
if href =~ /.*informatics/
puts href
#store stuff to active record
end
end
end
end
動作しますが、私はhttps://gist.github.com/vnhnhm/f6f8079c7180b6b7ffeb52d23b563c3eに加えて、省略したその他の初期のものを取得します。具体的な問題は何ですか? –
私はコードが動作することを知っていますが、重複するURLがあります。私は重複がないことを確認する必要があります –