【ニコニコ】自動ローカル保存プロクシ NicoCache21 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/05/25(木) 12:00:55.78ID:Xck+Fh++0
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
スレ立て時に↑をコピペして3行で書き込んでください

ニコニコ動画のキャッシュを自動的に保存して
二回目以降はローカルから再生することで
ニコニコ動画の回線に負担をかけることもなく再生できるソフトのスレ。

一度通常画質でローカルに保存すれば
エコノミーモード時間帯でも常に通常画質で再生することができる。

またオミトロンと併用することも可能。

Java で作られており Windows / MacOSX / Linux で動作する。
ttp://java.com/ja/

■関連サイト
NicoCache_nl wiki
ttp://www58.atwiki.jp/nicocache/
NicoCache_u
ttp://www28.atwiki.jp/nicocacheu/
NicoCacheGUI - HB Software Factory の跡地に出来た何か。
ttp://hbsoft.s10.xrea.com/
ASR's Room NicoCache (本家様。公開停止中)
ttp://homepage1.nifty.com/asr/index.html

【ニコニコ】自動ローカル保存プロクシ NicoCache20
http://egg.2ch.net/test/read.cgi/software/1482763300/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2017/11/29(水) 07:49:45.20ID:Fm6FSGU50
>>719
API利用把握しました.静画ではなくComicWalker本家の方からアクセスすると使ってますね.

問題のエラーは再現できませんでした.
NicoCache側に503を出力する処理は存在しないので
APIサーバが503エラーを吐き出しているということになりますが……
2017/11/29(水) 18:40:27.91ID:zh4keB1e0NIKU
>>722
APIへのアクセスは無いですね。角川専用のAPIなのかも?
使用しているブラウザはAnciaのTrident版です。
まあ、ここが見られないだけなので、Nicocacheを通さない別のブラウザを使えばいいだけです。
お騒がせして申し訳ないです。 
2017/12/01(金) 00:55:12.82ID:yNG5UJBC0
近日中に1080pのテスト運用始めるそうで多分またkulowの出番となります
ttp://blog.nico video.jp/niconews/53475.html
テストが始まったら「ビットレート2000kbpsを超える動画が検出されました」というログが出るので宜しゅう
Flashプレイヤーではlow判定の処理のアップデートが必要となる予定
HTML5プレイヤーでは現在の処理で動くはず
2017/12/01(金) 15:41:06.22ID:8WYOLh3G0
12/1過ぎて公式とかの動画IDがごっそり入れ替わってキャッシュが効かなくなってら
2017/12/01(金) 15:47:14.86ID:+If+zznO0
1080pでも2000kbps制限だったりして、、、というかサーバーに投資できない
ならそうならざる得ないような気がする。
2017/12/01(金) 18:59:41.01ID:8WYOLh3G0
公式アニメの新作かと思ったらdアニメの有料だったわ
同じタイトルで一週間無料の方も追加されんのかね
ややこしいな
2017/12/03(日) 22:23:36.60ID:MOyN0yqPa
>>730
利益度外視のGoogleやらサイバーエージェント・テレ朝連合と
ガチンコのぶつかり合いになったのは辛いとこだよな…

一番の問題は新しいプレミアム会員特典を用意できない事なんだと思う。
2017/12/04(月) 01:00:35.81ID:3FQLtNUt0
いい加減ニコニコ運営はリアルイベントに金を浪費するの止めろと言いたい
2017/12/04(月) 16:18:49.29ID:neN7apsyd
dアニメもキャッシュできますか?
2017/12/04(月) 21:39:15.84ID:ipH9MVHI0
>>734
やったことないけどチャンネルの説明にストリーミングって書いてたと思う
ストリーミングだったらできない
2017/12/04(月) 21:43:40.50ID:eO6njNcy0
>>733
川上はそんな赤字は出てないと言うが赤字会社の実業団スポーツみたいなもんで
まずそこをやめろよ、、という話になるよなぁ。
2017/12/05(火) 06:54:28.68ID:m6VKQh20p
dアニメストア、fetchやってますよー
2017/12/05(火) 09:58:10.44ID:m6VKQh20p
質問です。
現状dmc完了の動画キャッシュ(緑色のリンク)を作るためには、動画を再生しないとダメですか?
2017/12/05(火) 23:45:19.04ID:QEEZ08110
よくわかってないのですが
アプデの度に
ant extract jar
ってするんですか?
2017/12/06(水) 02:13:53.61ID:ndJQYht10
コメント検索実装したいんですが直せる方居ますかね?たすけて

//Comment Regex Search (regex is not implemented yet)
//https://www.tam-tam.co.jp/tipsnote/javascript/post11315.html
document.getElementById("start_search").addEventListener("click", function() {
var commentDataArray = document.getElementsByClassName("___table-row___1-Ej1");
var commentData = [];
var commentList = document.getElementsByClassName("___table___3Fnci");
var k;
for(k = 0; k < 243; k = k + 1){
commentData[k]=[];
commentDataArray[k]=[];
commentList[0].setAttribute("data-offset", k);
for(var i = 0; i < commentDataArray.length; i++){
commentData[k][i] = commentDataArray[k][i].getAttribute("title");
console.log("commentData["+i+"]:"+commentData[i]);
}
}
var keywords = document.getElementById("comment_searchbox").value;
var searchResults = [];
var crsCon = document.getElementById("crs-container");
if (commentData.indexOf(keywords) != -1) {
searchResults.push(commentData);
}
for(k = 0; k < 243; k = k + 1){
searchResults[k]=[];
for (var j = 0; j < searchResults.length; j ++) {
crsCon.insertAdjacentHTML('beforeend', '<span>'+searchResults[k][j]+'<span>');
console.log("searchResults["+k+"]["+j+"]:"+searchResults[k][j]);
}
}
});
2017/12/06(水) 05:23:45.94ID:ndJQYht10
やりたいこととしては、
・どうにかしてコメントのログ全文と取得する
・検索する(入力文字列との一致をみる)
・結果を返す
ということです。今回はメインプレイヤーのコメントログを動かして
data-offsetというattributeから取ることを目指しています
(コメントログをスライドしないと表示分の30個しか取得できないため)
2017/12/06(水) 05:30:20.83ID:ndJQYht10
すいません、ちょっと語弊がありましたね。data-offsetに介入してスクロールバー
を強制的に動かしてコメントを全文取得するためです。
データ自体は"___table___3Fnci"というクラスのtitleから取っています。
2017/12/07(木) 16:41:20.02ID:u4wOJ6Eg0
>>721

.VideoViewCountMeta, .CommentCountMeta, .MylistCountMeta
↑これの left: -234px !important; を right: 184px !important; に変えていただけないでしょうか。
>>706 のようなケースで left だと再生数とかが動画の上にかぶってしまいます。
right だと left で問題ない動画も含めて、見た範囲では動画の上にはかぶらないようです。
2017/12/07(木) 17:49:43.98ID:lGSrdXNrr
>>743
わかりました
検証した後対応します
2017/12/07(木) 23:10:43.26ID:yOj1SqMe0
>>740

こんな感じでどうですか?
nc0062
2017/12/07(木) 23:42:17.21ID:f3Juwhqd0
あれ?一部動画が黄色アイコンのエコノミーでしかキャッシュできない?
2017/12/08(金) 00:07:18.85ID:oo8QkRjU0
これとかいくらやってもエコノミーだ
sm32382410
2017/12/08(金) 07:46:29.96ID:AajaKI+D0
flvで投稿されてるね
flashモードで再生すると通常通りキャッシュされたよ
2017/12/08(金) 08:07:14.72ID:y+Q+N6EE0
>>746-747
HTML5プレイヤーのバグ
動画の最高解像度が360pで128kbps以上の音声が付いているとき64kbpsの音声しか使わない
ZenzaWatchでアクセスすれば最高音質になるはず
2017/12/08(金) 12:51:26.34ID:kW00+nIi0
>>745
ありがとうございます。ソース頂けるのはとても嬉しいのですが、実行してみるとcontent is undefinedと出ますね…
一応これ↓をフィルタに入れるとデバッグ可能かと思いますので修正をお願いしたいです…(こちらでも
デバッグしてみますが多分一人では難しいです)
https://pastebin.com/ST60faFi
2017/12/08(金) 16:50:49.83ID:f0NnnU/C0
movieFetcherFilter.txt 2017-06-07 を編集した方へ

Name = fetchリンク追加(マイページ&ニコレポ) (2017-06-07) の276行目にある
anchor.addEventListener("click", function() { nicofetch(this, id, 5) }); を

anchor.addEventListener("click", function() { nicofetch(this, id, 5, titleAnchor) });

にしてください。
, titleAnchor が抜けた状態だと、fetchした動画のリンクに target="'_blank" が追加されません。

※nlMovieFetcher.js の233行目が initialize: function(id, elem, frame, anchor) { になっていれば、 titleAnchor を渡すことで動画のリンク要素が指定されます。
2017/12/08(金) 16:52:23.17ID:f0NnnU/C0
>>751
訂正。
target="'_blank" → target="_blank"
2017/12/08(金) 22:14:38.49ID:M5GWs4BJ0
プレミアム会員を一斉に解約するだけでなく
Nicocacheも開発中断して使用できなくなったほうが
ニコニコへの傷が深くなってサーバー増強につながるかもな

どんな状況だろうとニコニコへの愛情は揺らがないとか?
2017/12/08(金) 23:36:59.47ID:oo8QkRjU0
>>749
マジか
最悪じゃん
2017/12/09(土) 00:20:04.29ID:onhGb3H+0
>>753
nicocache開発中断で一番割を食うのはnicocacheユーザーだからなぁ
何も意味ない
2017/12/09(土) 15:11:48.28ID:onhGb3H+0
movieFetcherFilter.txtについてなのですが、
319行目の
「(<h\d><a href="watch/(\w{2}\d+)(?:|\?[^"]+)")(?: id="watch/\w{2}\d+")?([\s\S]+?(?:<li class="posttime[^"]*")?.+?投稿)(?=</li>)?」

「(<h\d><a href="watch/(\w{2}\d+)(?:|\?[^"]+)")(?: id="watch/\w{2}\d+")?([\s\S]+?(?:<li class="posttime[^"]*").+?投稿)(?=</li>)?」
に修正してもらえませんかね?次のアップデートからで良いですから。
上の表現だと視聴履歴の動画タイトルに「投稿」という文字が含まれていると黄色く変化する部分がその「投稿」の文字までしか変化しないんです
下の表現ではきちんとposttimeのli要素まで検索します
2017/12/09(土) 17:41:39.45ID:AsXTYWIb0
>>756
[\s\S]+?
ここをいじった方がいいんじゃない?
試してないけどこんな感じで……
(?:(?!</a\s*>)[\s\S])+?</a\s*>(?:(?!</ul\s*>)[\s\S])+?
2017/12/09(土) 21:02:44.64ID:onhGb3H+0
>>757
試してみたけど途中までしか検索しないですね
2017/12/09(土) 21:06:59.25ID:VNt3YCNZ0
>>748-749
先週まではこんなことなかったのに
今週になって急にエコノミーでキャッシュされるようになったわ
運営が何かやらかしたのかしら
2017/12/09(土) 23:11:10.52ID:ml2AOv9V0
>>759
>>747,749のHTML5プレイヤーのバグは画質選択機能の追加で入ったから今年の2月末からずっとある
2017/12/10(日) 00:59:06.50ID:ZgaPxsBF0
>>760
先週までは普通にキャッシュできてたのよ
なのに同じ投稿者が今週投稿した動画ではいきなりこの現象起きるようになったから
運営側が動画のエンコ方式でも変えたのかと思って
762名無しさん@お腹いっぱい。 (アウアウウーT Sa1b-ObRk)
垢版 |
2017/12/10(日) 01:12:29.52ID:C4O7xjOMa
12/7にHTML5版を更新したよってお知らせ出てたよ。

【12/7更新】「動画視聴ページ HTML5版」更新のお知らせ
http://blog.n\icovideo.jp/niconews/563.html
2017/12/10(日) 01:29:24.31ID:NrPyYiBP0
フィルタまとめ#46 うpしました
http://nicocache.jpn.org/count.cgi?nc0064.7z

更新物:watchページ整形フィルタ、PlaybackRateChanger

watchページ整形フィルタ:
・タグカウンターと市場アイテムカウンターを追加しました
タグの数、市場のアイテムの数を自動でかぞえてくれます
・heatmap.js、heatmap_config.jsを同梱しました
どうにかしてコメントのヒートマップを作る方法を模索中…
PlaybackRateChanger:
comment-regex search(crs)[Beta]を追加しました
自分の技術力を超えているため恥ずかしながら動かす方法が分かりません
2017/12/10(日) 13:46:43.55ID:5Tv/ms2e0
>>755
nicocacheユーザーがニコニコ見なくなったら効果出るんじゃね?
2017/12/10(日) 13:57:10.65ID:Un4x5vGT0
割合かんがえようぜ
2017/12/10(日) 14:01:44.13ID:86y4BUCra
ユーザーどのくらいいるの?
2017/12/10(日) 14:09:14.26ID:qa2dEKzD0
PC使えないキッズが圧倒的に多いんだから1割居れば多い方なんじゃない?
2017/12/10(日) 14:13:36.23ID:NrPyYiBP0
2015年8月 6日 12:41
プレミアム会員数250万、総登録会員数5,000万を突破
http://blog.nico video.jp/2015/08/2505000.php
2017/12/10(日) 21:58:05.32ID:ZgaPxsBF0
>>762
言われてみればこの日以降に64kbpsでキャッシュされる動画増えた気がする
一体どんな変更加えたんだ
770名無しさん@お腹いっぱい。 (ワッチョイW 9f03-woqA)
垢版 |
2017/12/10(日) 23:11:53.33ID:XVswfwjA0
アクティブユーザーなんて三桁いるかどうかってレベルだと思う
2017/12/10(日) 23:36:56.34ID:R51FeBf/0
ファイル置き場のDL数が正しければ重要なファイルでも2桁がやっとだし更新してない勢含めても3桁いってるか怪しい
2017/12/11(月) 00:37:31.13ID:MY1DR97s0
>>763

これでどうですか?
nc0065
2017/12/11(月) 17:26:12.38ID:tEuCBhEP0
テストですけど1080pきましたね

【PC版ニコニコ動画】1080p動画のテスト運用開始

2017年12月11日(月)よりPC版ニコニコ動画で1080p動画のテスト運用を開始いたします。

今回のテスト運用は、1080p動画を実際にご投稿及びご視聴いただくことでのシステム負荷を検証することを目的としています。
(検証状況により本テスト運用を中止させていただく場合がございます)

http://blog.nicovideo. jp/niconews/54740.html
2017/12/11(月) 21:20:13.32ID:XP5a5jgy0
フィルタまとめ#47 うpしました
http://nicocache.jpn.org/count.cgi?nc0066.7z

更新物:watchページ整形フィルタ、PlaybackRateChanger

watchページ整形フィルタ:
・アカウントを削除した動画にエンカウントすると自動的にスタイルを整形するスクリプトを追加しました
PlaybackRateChanger:
comment-regex search(crs)正式版を追加しました
>>745様、>>772様、技術的ご協力ありがとうございます。感謝です。
テキストエリアに単語を入力するとコメントを検索できます。チェックボックスの「正規表現」にチェックを入れると正規表現で検索できます。
2017/12/11(月) 21:39:15.00ID:KjiA5t730
>>773
ヒャッホーイ
ビットレートの検証したらパッチ出します
4Mbpsと6Mbpsの二択かな?


> 不具合改修 再生開始時に画質が700kbps未満だった場合低音質で再生される 2017年12月11日
ウッソだろおま
今朝NicoCache側にワークアラウンド実装したところなのに
まさか9ヶ月放置したバグが修正されるとか
2017/12/11(月) 22:54:07.27ID:XP5a5jgy0
comment-regex searchを実装したのはいいが、動画を遷移すると前の動画の
コメントデータが残っていてそれを延々と検索する処理になってますね

動画遷移に合わせてdocument.getElementById('js-initial-watch-data').getAttribute('data-api-data')を取り直す処理と
コメントデータを取り直すxhr処理をしないとダメみたいですね…
2017/12/11(月) 23:03:06.43ID:lxxThixT0
>>775
最近エコノミーで再生されていたのはこいつが原因か
2017/12/12(火) 15:04:32.24ID:Fb2eAmEk01212
TAG検索してたらなんか無関係な動画が出てくるからよく見たら
海外のエロサイトのように広告動画を検索に入れてきやがった

ユーザーと真摯に向き合うんじゃなかったのかよ
2017/12/12(火) 19:18:12.23ID:Fb2eAmEk01212
お、今見たら元に戻ってた
2017/12/12(火) 21:57:10.13ID:OuC0p0RL01212
NGranking_testってフィルタが一部動かなくなってると思ったら
data-idがdata-video-idに変わってたのか
2017/12/12(火) 23:52:36.34ID:aTzAVNSZ0
1080pいい感じだな
なぜもっと早くできなかった
2017/12/13(水) 00:26:22.65ID:YLVrhpzV0
投資対効果低いと思ってたからでしょ
慌てて予算とリソース回したとしか思えない
2017/12/13(水) 00:59:53.92ID:OzIosrF80
nc0068 NicoCache_nl+150304mod+171213mod
[仕様変更]
・投稿時期を用いてkulow判定のヒューリスティックを改良
・映像が2000kbpsを超える動画のレポートを削除
[不具合修正]
・1080pに合わせてFlash版watchページのkulow判定を修正
[nlFilter]
・i=xxxxxxxx.yyyyy.Mのような形式のサムネイルURLに対応
・ランキングトップページで表示が崩れるのを簡易修正

ついでにフィルタのニコニ広告リニューアル対応をしようと思ってましたが
一向に復活しないのでこのままリリース.

kulow判定のヒューリスティックは,これで問題なければ近いうちに
この基準を元にkulowのついたキャッシュのリネームを行います.
2017/12/13(水) 01:38:14.32ID:xScnJSWn0
ドワンゴ川上会長、niconico運営責任者を“退任” - ITmedia NEWS
http://www.itmedia.co.jp/news/spv/1712/12/news126.html
2017/12/13(水) 12:44:06.55ID:xxYEB9PL0
>>782
どうせたら全部アカウントなし無料で見れるようにしてほしいわ
再生数水増し対策はアカウントしか再生数数えないとかでいいし
2017/12/13(水) 16:20:37.33ID:KZMCs2QK0
キャッシュ済みアイコンがニコレポでは付かないんだけどどんな?
動画トップとマイページの視聴履歴なら付いてる
2017/12/13(水) 16:21:07.40ID:KZMCs2QK0
nc0068適用済みです
2017/12/13(水) 17:15:12.75ID:4DF/okvo0
こんなエラーが出てしまっています
古いファイルが混じってる可能性があるきがしています
キャッシュは問題なくされてるのでほおっておいてるのですが
できたら解決法教えてほしいです


no cache found: so32373592[540p,1000,192]_妖怪アパートの幽雅な日常 第24怪「嵐の前の嵐」.mp4
fetch: so32402378 done.
storing folder: カードファイト
java.lang.NullPointerException
at extensions.cacheMoveExtension.onComplete(cacheMoveExtension.java:70)
at dareka.processor.impl.NicoCachingListener$Completer.wrapup(NicoCachingListener.java:495)
at dareka.processor.impl.NicoCachingListener.onTransferEndCore(NicoCachingListener.java:309)
at dareka.processor.impl.NicoCachingListener.onTransferEnd(NicoCachingListener.java:249)
at dareka.processor.Resource.fireOnTransferEnd(Resource.java:193)
at dareka.processor.Resource.execSendingBodySequence(Resource.java:280)
at dareka.processor.URLResource.doTransferTo(URLResource.java:305)
at dareka.processor.URLResource.selectTransferTo(URLResource.java:114)
at dareka.processor.URLResource.transferTo(URLResource.java:154)
at dareka.processor.URLResource.endEnsuredTransferTo(URLResource.java:92)
at dareka.processor.Resource.transferTo(Resource.java:120)
at dareka.ConnectionManager.useResource(ConnectionManager.java:419)
at dareka.ConnectionManager.processAPairOfMessages(ConnectionManager.java:294)
at dareka.ConnectionManager.run(ConnectionManager.java:64)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

completeCacheSample : getThumbInfoError.
2017/12/13(水) 21:37:45.53ID:AzpxmRiG0
>>786
マジだ
こいつは困る
どれがキャッシュできていない動画かニコレポで見れないのはマジで困る
2017/12/13(水) 23:07:26.25ID:OzIosrF80
>>786,787,789
ついにサムネイルサーバがHTTPS化されました.
08_MutationObserverHooks.txtの35行目と188行目のhttp:をhttps?:に変えておいてください.
アップローダにはニコニ広告の修正と合わせて出します.

>>788
cacheMoveExtensionのルールの読み込みに失敗しています.
その落ち方をするのはルールファイルが存在しないか文字コードが間違っているかのいずれかだと思います.
completeCacheSampleはそもそもユーザが使うものじゃないので削除.
2017/12/14(木) 04:54:06.97ID:1L9urMMp0
>>790
ありがとうございます
削除します
2017/12/14(木) 06:43:29.67ID:QD0FTe8L0
>>790
すごい!ニコレポでもキャッシュアイコン出るようになりました!
ありがとうございます!
2017/12/14(木) 07:46:19.46ID:iCT1xOny0
nc0070 フィルタ改修
・サムネイルサーバのhttps化に対応(>786,787,789)
・検索系の埋め込みニコニ広告の仕様変更に対応

ところでニコニ広告の背景に色を付けてみたらだいぶマシな感じになりました.
[Style]
Name = ニコニ広告の背景色変更
URL = www\.nicovideo\.jp/(?:tag|search)/
Append<
.nicoadVideoItem { background-color: #D0D0D0; }
>
2017/12/14(木) 17:08:34.72ID:KqHwW9ty0
フィルターの
<cache$$economy$$dmcCache$$dmcEconomy>
と同じ判別をextensionでやる場合はどうしたらよいですか?

やりたいこと:手元のnlApiUtilExtensionをいじって現行方式のキャッシュアイコンをdmc対応で表示させる。
※旧形式のキャッシュについては、現行方式でキャッシュアイコンを表示できるようにしています。
2017/12/14(木) 23:44:47.98ID:iCT1xOny0
>>794
VideoDescriptor video = Cache.getPreferredCachedVideo("smXXXXXXXX");
でVideoDescriptorを取得して
video.isDmc()とvideo.isLow()
で判定してください.

VideoDescriptorはlow, dmc, 解像度, ビットレートなどの情報を
組み合わせた動画データの識別子となっています.
2017/12/15(金) 03:10:11.77ID:gF5rbabt0
nlApiUtilExtension rev16g+20171215mod
http://nicocache.jpn.org/count.cgi?nc0071.7z

とりあえず自分に必要な分だけいじったテストケースみたいな感じ。
目についた範囲でサムネイルとキャッシュアイコンを表示するようにいじってます。
書き換えたファイルのみを入れているので、使う場合はコンパイルが必要。
手順は「nlMovieFetcher」と同じです。

注意!
サムネイルとキャッシュアイコンの表示以外で使えなくなっている機能があった場合、その機能は、これに差し替えても使えないままです。

動画のidが数字のみの場合にCache.getPreferredCachedVideo()でキャッシュ情報が取得できないため、smidに変換できた場所から引数をバケツリレーして強引に対応しています。
そのため該当する動画が多いマイリストは、処理時間が体感できるほど遅くなるかもしれません。


>>795
おかげさまで判定処理が少しすっきりしました。
ありがとうございます。
2017/12/15(金) 15:08:24.53ID:IsEo+oG50
検索結果の途中にニコニ広告入ってくるのがうざかったので自分用に作ってみたやつ

検索結果からニコニ広告除外or検索結果末尾に移動させる
http://nicocache.jpn.org/src/nc0072.txt
2017/12/16(土) 02:05:05.19ID:yQgmhX210
>>774
アニメのチャンネルでページ表示後にスタイルが変わってレイアウトが崩れるようです。
watch/1513040473
などで確認。
2017/12/16(土) 07:02:08.78ID:jq7zRSU90
fetch.html5はWebWorkersしたいね
2017/12/16(土) 12:59:28.73ID:8jQI9Ybbr
>>799
HTML文書そのものの問題というより、javascriptをworker()コンストラクタとより汎用的なグローバルコンテキストで全部書き換えなきゃいけないじゃないか…
2017/12/16(土) 15:42:44.45ID:oUdpccBz0
by ◆awd5z.AlOFJq フィルタまとめ#49うpしました
http://nicocache.jpn.org/count.cgi?nc0073.7z
>>798に対する修正です。
2017/12/16(土) 15:43:26.87ID:oUdpccBz0
コテハン付け忘れた
2017/12/16(土) 15:56:36.13ID:+YP6V+cL0
>>797
良いですねぇ!
2017/12/18(月) 16:39:17.08ID:dxRP5aa90
Comment Regex Searchをボタンを押すごとに実行するように変更したいんだがどうすればいいんだろう
あとオススメリストの動画をクリックして遷移したときや、投稿者コメントの動画リンクをクリックして遷移した
ときに合わせて(例えばsm9→sm15)data-api-dataのコメントスレッド番号も取り直す処理にしたいし、そのスレッド番号で
コメントデータを取り直す処理、検索しなおす処理がしたいが、全然わからん…
現状では検索ボタン押した一回目のときだけxhrしてコメントデータを取りに行ってるだけ
動画番号が変わっても(例えばsm9→sm15)同じコメントデータで検索し続けてしまう
どうにかできないか…
2017/12/18(月) 21:33:07.62ID:zlM74t0A0
>>804
「ページのソースを追ってページの変移に関するところを弄る」以外で実現するなら、
ボータンを押すたびにページのアドレスを確認して、変わっていたらデータを取り直すって手が使えるのでは?

確か現状では、ページ変移のあとにページのアドレスを書き換えていたと思うので、
変移のタイミングで処理をするとかでないのなら行けると思う。
2017/12/18(月) 21:43:08.43ID:dxRP5aa90
>>805
確かjavascriptではページを跨ぐプログラムは普通のやり方では上手く動かない仕様だった気がするんですが…
2017/12/18(月) 21:59:36.55ID:zlM74t0A0
>>806
変移といっても移動ではなく、変移先のデータを読み込んでからそれを現在のページに反映してたような?
なので見た目には別のページへ移動しているように見えたとしても、同じページにとどまっているような感じ?

部屋に例えるなら、下のどちらも部屋の中の見た目はAさんの部屋からBさんの部屋に変わるけど、1.は部屋を移動して、2.は部屋を移動してない。
 1.Aさんの部屋からBさんの部屋へ移動
 2.部屋のセットを「Aさんの部屋セット」から「Bさんの部屋セット」に変更
2017/12/18(月) 22:24:09.89ID:dxRP5aa90
>>807
mutationObserverとpromiseってどうやって組み合わせれば良いんですかね?それが解らない。
2017/12/18(月) 23:07:44.84ID:zlM74t0A0
>>808
知らないけど >>805 は組み合わせを必要としてないです。
「ボータン」はタイプミスで「ボタン」

ボタンを押したときに事前に保存して置いたアドレスと現在のアドレスを比較して、
異なっていたら最初から処理をやり直しちゃうって考え。

変移後の処理開始のタイミングが手動になるので、変移の瞬間を監視する必要がない。
故にmutationObserverは全く考慮していません。
2017/12/19(火) 00:21:48.04ID:MQV30eO90
動画を切り替えた後のdata-api-dataを取得するまともな方法は多分ないです.あったら私が知りたい.

まともじゃない方法としてはxhrとfetchオブジェクトを差し替えてデータを横取りする方法があるので
これを実装してnllib_watch.jsにいれておいても良いかなという気はしてますが……
2017/12/19(火) 01:01:19.89ID:6AAUFobk0
一応動画遷移時にDOM変更によるイベントトリガとして処理をしよう、っていうまともな方法ってのがmutationObserver
DOMが変更されたときに実行できるので、その度にdata-api-dataは実行できる
例えばフィルタまとめの「watchページ整形フィルタ」に含まれるタグカウンターと、市場アイテムカウンターもこの方法で実装してるし、
MutationObserverHooks.txtっていうURLを挿入する公式フィルタもある
2017/12/19(火) 01:31:09.50ID:6AAUFobk0
んー、でも手動ならボタンを実装してdocument.getElementById('js-initial-watch-data').getAttribute('data-api-data')を実行するたびに内容が変わってくれるのかな?
なんか前やったときは最初にロードしたjs-initial-watch-dataのdocument内容しか返ってこなかったような…今度試してみよう
2017/12/19(火) 01:36:25.13ID:ThfoXouH0
>>810
[up380]の「nlItab関連」の「nl_watch.js」でやってる
「document.body」のclass監視で「is-page-changing」の監視による動画変移監視
その後、「/watch/${vid}?mode=pc_html5&eco=0&playlist_token=${playlistToken}」で取得じゃダメです?
2017/12/19(火) 01:38:36.61ID:MQV30eO90
>>811-812
動画切替時にdata-api-data書き換わらないからまともな方法がないと言っとります.

>>813
それぞれのフィルタでそれをやったら収拾がつかんですよ.
サーバに負荷をかけたりカウンタを余計に回したりしそうなので推奨できません.
2017/12/19(火) 02:09:12.50ID:6AAUFobk0
>>814
あら?でも動画切り替え後にソースを表示したらdata-api-dataの中身って書き換わってませんでしたっけ?(未確認)
2017/12/19(火) 03:19:59.04ID:MQV30eO90
nc0076 nllib_watch.js apiData対応
実証試験版です.fetchしか差し替えていないのでまだIEでは動かないはず.
NicoCache_nl.watch.apiData で現在の動画のdata-api-dataをJSON.parseしたものを参照できるようにしました.
動画切り替え時にapiData付きで呼ばれるイベントハンドラとして NicoCache_nl.watch.addEventListener('videoChanged', function(videoId, apiData) {}) も追加.
正式対応は次のリリースにて

>>815
動画切替時にはページを読み直さずアドレスバーのURLだけ変更してるのですが
ブラウザの「ソースを表示」を行うと新しいURLのソースを取りに行って表示されます.
インスペクタで見れば変わっていないはず.
2017/12/19(火) 06:31:31.56ID:murp2BsP0
アドレスの書き換えと確認について解説しているページ

[JS] アドレスバーのURLを動的に書き換える方法 │ Web備忘録
ttps://webbibouroku.com/Blog/Article/js_change_url
2017/12/19(火) 07:32:49.24ID:murp2BsP0
↓こういうのって出来たかな?出来たら鯖へのアクセスは気にしないで良さそうだけど。

URLがマッチしているAPIへのアクセス時に読み込み内容全てをMatch&Replaceして、AddVariable = 変数名で保存。
ローカルにAPI読み込み用ダミーページを作って、そのページにフィルターの<nlVar:変数名>を適用して、それを読み込む。
2017/12/19(火) 08:35:48.17ID:h/3w2mcNM
>>818
AddVariableって同一リクエストでしか使い回せなかったような気がするけど、機能追加あったっけ?

別の案
・(htmlプレイヤー限定かつ未検証)公式プレイヤーが情報を持っているなら、その情報を取得するところに割り込む
fetchAPIなら楽にできること確認済み、XHRは試してないけどできなくはないはず

・nl拡張でキャッシュ

・https化された後限定だけど、service workerで全通信内容を知れる
(IE?知らない子ですね)
2017/12/19(火) 08:42:42.61ID:6AAUFobk0
記法としてはこんな感じで良いんですかね…?
NicoCache_nl.watch.addEventListener('videoChanged', function(videoId, apiData) {
window.commentSearch;
window.commentSearch.commentGET();
console.log("video changed!");
});
syntax errorだけど…
2017/12/19(火) 23:09:09.06ID:6AAUFobk0
TypeError: obj is null[詳細] overlib_mini.js:189:5 って出るんですがこれは何ですか
2017/12/20(水) 11:04:06.05ID:IlHzXl9Y0
 【OS・Java・本体】NicoCache_nl+150304mod+171213mod HTML5+dmc (based on NicoCache v0.45)
Running with Java 9.0.1(amd64) on Windows 10
 【ブラウザとバージョン】Google Chrome 63
 【使用プレイヤー】公式HTML5
 【拡張の状態】up006+up292+nc0069+NGCommentExtension v0.5_110425
config.propertiesに NGCommLoggingNGWORD=true のみ追記
NGWORD.txtは[←↓↑→]のみ

sm18671210でNGワードに[←↓↑→]を設定してるとコメントが一切表示されなくなるのですがなぜでしょう
コメントアウトしたり削除すると正常に表示されます。他の動画では問題なし
ログにも "NGComm: match 〜〜"以外の出力はないです


上の環境はテスト用だけど、メイン環境でも以前から他の動画で全くコメントが表示されなくなることがあって、その都度だめなワードを特定したりNGWord.txtをリネームしたりして対処してたんだけど
動画によってだめなワードが違ったりしててもう何がなんやら
2017/12/20(水) 11:21:38.75ID:hM6BaegI0
>>822
こちらでは一切再現しない
NGWord.txtのエンコードがUTF-8でないのが問題ではないか?
2017/12/20(水) 11:40:50.99ID:IlHzXl9Y0
>>822
NGWORD.txtはUTF-8になってますね
一応Pale Moon27.6.2でも確認してみましたが同じ症状です
2017/12/20(水) 11:42:42.17ID:IlHzXl9Y0
書き忘れてた
(←|↓|↑|→)
このように書いても同じ症状が出ます
2017/12/20(水) 12:11:49.21ID:lLab53xK0
フィルタまとめ#50 うpしました
http://nicocache.jpn.org/count.cgi?nc0077.7z
更新物:PlaybackRateChanger,ヘッダ超短縮表示用フィルタ

PlaybackRateChanger:
・実験的コードを残していたせいで動かなくなっていたのを直した
・動画遷移後でもその遷移後の動画のコメントを検索できるようにした
・nllib_watch.jsとの依存関係ができた
・(css)crsの検索ボタンをひとつのブロックにまとめた
ヘッダ超短縮表示用フィルタ:
・ランキングがマイページ上でも短縮表示されるように修正
■ このスレッドは過去ログ倉庫に格納されています
大学生アイラと影の怪物と戦うリョウが、深夜3時3分の静止した世界で交錯する超常スリラーの概要

ニューススポーツなんでも実況