[nFinder] ruby周り修正


最終更新:2020-09-23 01:22:00

プレ垢で一部動画が再生できなくなった対策(~2018/10/16)#

2018/10/16夜のニコ側変更以降不要になった模様。むしろ再生できなくなるんで修正済の人は戻しましょう
ttps://egg.5ch.net/test/read.cgi/software/1536146206/150 は
一部動画のsmile版DL先がhttpからhttpsのみに変わってるのにgetflvがhttpって返してくるのが原因みたい

1. session.rbの「begin」のすぐ下に「exit(0) if ARGV.length < 3」の行を追加
2. nico.rbの「json = JSON.parse(CGI.unescapeHTML(api_data))」のすぐ下に以下の8行を追加(thanks >>320)
if json["video"]["dmcInfo"].nil?
exit(1) if json["video"]["smileInfo"]["url"].start_with?("http:")
puts flv_param.sub(/url=http.+?&/, "url=" + CGI.escape(json["video"]["smileInfo"]["url"]) + "&")
puts video_id
puts ""
puts ""
exit(0)
end

DMC対応動画もDMC再生されなくなった対策(2018/10/16~)#

rubyがhttps転送を追っかけてくれない為。error.txtに「redirection forbidden」とかでてるはず。

1. nico.rbの「nico_url = "http://www.nicovideo.jp/watch/" + video_id」の行を
「nico_url = "https://www.nicovideo.jp/watch/" + video_id」に変更

error.txtに「certificate verify failed」#

rubyが古いと上記対応後に出るようになる。
証明書チェックをスキップする方法もあるけど…ruby更新でいいでしょ。
Ruby 2.5.3-1 (x86)で試したらいけた

DMC対応してると再生できない動画があった対策#

ttps://egg.5ch.net/test/read.cgi/software/1536146206/164 の空振りのほうは、
動画のタイトルにshift-jisで使えないutf-8文字があるとnico.rbがエラーになるっぽい
ちょっと自信ないけどunicode版使うようにしてみる
2020/09/23 タイトルに「'」があるとうまく動かなかったのでescape/unescapeからencode_www_form_component/decode_www_form_componentに変更

1. session.rbの「title = ARGV[1].dup.gsub("&", "&&")」の行を
「title = URI.decode_www_form_component(ARGV[1]).gsub("&", "&&").encode("UTF-16LE", "UTF-8")」に変更
2. session.rbの「FindWindow = Win32API.new("user32", "FindWindow",["P","P"],"L")」の行を
「FindWindow = Win32API.new("user32", "FindWindowW",["P","P"],"L")」に変更
3. nico.rbの「puts ((json["video"]["originalTitle"].encode("CP932") + "(" + json["video"]["id"] + ")").inspect)」の行を
「puts URI.encode_www_form_component((json["video"]["originalTitle"] + "(" + json["video"]["id"] + ")"))」に変更

【おまけ】DMC対応しちゃったけどやっぱりDMCは嫌いな人へ#

nico.rbを削除

【おまけ】せっかくのswf動画がDMCになっちゃうのが嫌な人へ#

nico.rbの「json = JSON.parse(CGI.unescapeHTML(api_data))」のすぐ下に「exit(1) if json["video"]["movieType"] == "swf"」を追加
DMCの時のキャッシュ/ダウンロードがあると再生できなくなる(mp4をswfとして開こうとしてる?)のでそのときは適宜削除
flvもDMC避けしたいなら同様にもう一行足せばok
お知らせ
実務でも趣味でも役に立つ多機能Webツールサイト【無限ツールズ】で、日常をちょっと便利にしちゃいましょう!
無限ツールズ

 
writening