manatee-itの備忘ログ

プログラム初心者のブログ。ruby on railsでWebサービスを作成中。(仕事が忙しくなかななか進まず) つまずいた所をなんでも記録。 環境:Ruby2.1 + Rails4.1.1 + Passenger + CentOS6.4(Apache + sqlite/MySQL)

yahootvのパラメータ

検索結果をスクレイピングさせていただくYahoo!TVについて、検索パラメータの内容を確認しました。

検索例:キーワード「F1」、放送波「地上波、BS放送」、並べ替え「放送時間順」、エリア「神奈川」の場合。

http://tv.yahoo.co.jp/search/?q=F1&t=1%25203&oa=1&a=24

検索結果数は、放送波の選択内容にかかわらず、BS放送、CS放送、地上波の結果が表示される。

                                                                                      • -

検索キーワード:
?=(キーワード)

放送波:
t=1 BS放送 (%25201)
t=2 CS放送 (%25202)
t=3 地上波 (%25203)
※放送波を複数選択した場合はカッコ()内の値を付与する。

エリア:
a=23 東京
a=24 神奈川
a=25 群馬
a=26 茨城
a=27 千葉
a=28 栃木
a=29 埼玉

並べ替え:
oa=1 放送時間順
oa=2 「見たい」登録数順
oa=3 感想数順
oa=4 放送局順

ジャンル:
なし すべて
g=00 ニュース/報道
g=01 スポーツ
g=02 情報/ワイドショー
g=03 ドラマ
g=04 音楽
g=05 バラエティ
g=06 映画
g=07 アニメ/特撮
g=08 ドキュメンタリー/教養
g=09 劇場/公演
g=10 趣味/教育
g=11 福祉
g=15 その他

                                                                                      • -

nokogiriのエラー

環境:Ruby2.1 + Rails4.1.1 + Passenger + CentOS6.4(Apache + sqlite/MySQL)

nokogiri (1.6.2.rc2)を利用したタスク実行時にエラーが発生した。

-----------------------------------------------------------------------------------

Rakeタスク実行

# rake search:generate

rake aborted!

LoadError: cannot load such file -- nokogiri/nokogiri

/var/www/html/remindertv/lib/tasks/search.rake:8:in `block (2 levels) in <top (required)>'

LoadError: cannot load such file -- nokogiri/2.1/nokogiri

/var/www/html/remindertv/lib/tasks/search.rake:8:in `block (2 levels) in <top (required)>'

Tasks: TOP => search:generate

(See full trace by running task with --trace)

-----------------------------------------------------------------------------------

クラス実行

# rails runner Tasks::SearchTask.execute
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require': cannot load such file -- nokogiri/nokogiri (LoadError)
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require'
from /usr/local/lib/ruby/2.1.0/nokogiri.rb:29:in `rescue in <top (required)>'
from /usr/local/lib/ruby/2.1.0/nokogiri.rb:25:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency'
from /usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require'
from /var/www/html/remindertv/lib/tasks/search_task.rb:8:in `execute'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/runner.rb:62:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/runner.rb:62:in `eval'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/runner.rb:62:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:128:in `require'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:128:in `require_command!'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:95:in `runner'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
from /usr/local/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'

-----------------------------------------------------------------------------------

Gemfileファイルに以下を追加して、bundle installを実行して対応した。

gem 'nokogiri'

 

Gemパッケージのインストールとか全然知らないのだけど、普通に必要な設定のようだ。