2008年04月29日

Greasemonkey使ってフィルタかけちゃえ

pixivでホモ画像見たくないから閲覧制限かけてよ\(^o^)/
とお願いしても望み薄そうなので、Greasemonkeyでタグフィルタ実装してみました。

使い方は、NG_TAG_LISTにカンマ区切りでフィルタかけたいタグをぶっこめばおkです。
タグを取得するために詳細画面のHTMLもらいに行っているので、読み込みが終わるまでフィルタ対象の画像が出っぱなしになってしまいますがそこはご愛敬。

■ダウンロード
posted by 膳 at 22:12| Comment(27) | TrackBack(2) | JavaScript
この記事へのコメント
レイアウトリニューアルの為、IDのフィルタが働かなくなりました。
178行目のprofileをcontentsに書き換えればいけると思います。
よろしければ修正をお願いします。
Posted by Quffy at 2010年07月21日 22:59
最新版で対応済みでしたね。失礼しました。
Posted by Quffy at 2010年07月21日 23:11
pixivは週一ペースでチェックしていれば良い方なので、今回の更新は偶然です。
なのでHTMLの変更に気づいたら気兼ねなく教えて下さい(といってもコメントに気づくかどうかも怪しいですが)。
Posted by 膳 at 2010年07月22日 00:05
1.3.2.0にて画像のポップアップテキストが[調査結果 タグ:〜]表示されなくなりました。
altで本来指定してあるテキストが表示されます。
できたら対応お願いします。
Posted by Quffy at 2010年07月25日 12:59
>> Quffyさん
1.3.2.1で対応しました。
Posted by 膳 at 2010年07月25日 14:31
素早い対応ありがとうございます。
pixivの閲覧がとても快適になり、感謝してます。
Posted by Quffy at 2010年07月25日 17:36
Greasemonkeyを0.8.6から0.9.1にしたところ、
AutoPagerize0.0.58の2ページ目以降にフィルタが適応されなくなりました。
よろしければ修正をお願いします。
Posted by Quffy at 2011年01月27日 21:59
>> Quffyさん
ちょろっとぐぐったら何か面倒なことになっているようで早々に諦めてしまったんですが、もし分かるようなら修正方法教えて下さい><
Posted by 膳 at 2011年01月28日 21:45
私では力になれそうもないです。Greasemonkeyを0.8.6に戻して対応することにします。
ランキングの閲覧がとても快適で助かってます。知りたくもないタグの知識も増えましたが…
Posted by Quffy at 2011年01月31日 02:51
たびたび失礼します。
ソースに変更があったようで、フィルタが使えなくなりました。
対応をよろしくお願いします。
Posted by Quffy at 2011年04月08日 18:37
>> Quffyさん
1.4.1.0で対応しました。
スクリプトの方の間違いで、1.4.0.0で先祖返りしてたっぽいです。
Posted by 膳 at 2011年04月10日 14:28
昔かじった程度のC言語の知識で自力で何とかしようとしましたが、無理でした。
毎回、ありがとうございます。
Posted by Quffy at 2011年04月10日 21:50
>> Quffyさん
CとJavaScriptは文法が似ているだけで他は大違いなので無理なさらず……
毎回動作チェックありがとうございます
Posted by 膳 at 2011年04月10日 22:17
5月12日のpixivの仕様変更で検索結果の画像が縮小されないようになってしまいました。
それ以外では縮小されたままです。
よろしければ対応お願いします。
Posted by 島 at 2011年05月13日 21:01
>> 島さん
1.4.2.0で対応しました。
たぶん、動きます。
Posted by at 2011年05月14日 11:52
ちゃんと動きました!
ありがとうございます!
Posted by 島 at 2011年05月14日 13:34
6月23日の仕様変更で画像が全て縮小されるようになってしまいました。
対応お願いします。
Posted by 島 at 2011年06月23日 14:08
>> 島さん
こちらの環境では再現できませんでした。
リファラ送信していないとかだったりしませんか?
Posted by 膳 at 2011年06月23日 21:15
Firefox4では正常に動作しますがFirefox5で全て縮小されてしまうようです。
Posted by azu at 2011年06月23日 23:57
>> azuさん
なるほど!
ただそうなると私は未だに3.6なので自力解決は難しそうです。
具体的に不具合でている箇所がわかる方は情報下さい。
Posted by 膳 at 2011年06月24日 00:08
エラー: uncaught exception: TypeError: /<h3>(.*?)<\/h3>/ is not a function
該当部分をコメントアウトしてみましたが今度は次の
var tags = /<span id="tags">(.*?) <\/span
>/(this.responseText);
でエラーが起こりました。
正規表現の部分でエラーが出ているようです。
Posted by azu at 2011年07月06日 21:57
>> azuさん
情報ありがとうございました。
心当たりがありそうな場所を修正してみたので、テストお願いします。
http://www.zenbo.jp/lib/pixivfilter_test.user.js
Posted by 膳 at 2011年07月06日 22:33
やはり同様のエラーがでました。
以下のように修正してみたところFirefox5、UserScriptLoader0.1.6でなんとか動作しました。

(this.responseText)を使っている所はparseIsMangaと同じように.execを付け足し
var ret = /<h3>(.*?)<\/h3>/.exec(this.responseText);

while (ret = pattern(text)) {でもエラーが出ていたので
while (ret = pattern.exec(text, 'g')) {
'g'がないと無限ループになってしまうようです。

javascriptはよくわかっておらず、適当に直したらたまたま動いたものなので
どこかしらおかしいところがあるかもしれません。
また、AutoPagerizeで継ぎ足されたページには
Firefox4.0b10以降はwindow.が取得できないので動作しないようです。
Posted by azu at 2011年07月07日 00:04
>> azuさん
とりあえず、指摘のとおり、exec付けるようにしました。
http://www.zenbo.jp/lib/pixivfilter_test.user.js

> while (ret = pattern(text)) {
ここに関してはexecが第二引数受け付けるようになったのか分からないのと、patternには元々gフラグが付いているのに効かないのが不明なままなので、exec付けたまま放置です。

AutoPagerizeへの対応は……何か回避策あるんでしょうかね……('A`)
というわけで、その他色々分かる方の情報をお待ちしています。
Posted by 膳 at 2011年07月07日 01:02
こんにちは。
私も狐6にあげたところ、
azuさんと同様の症状が出ましたので
execを付加して、
parseTagData: function()の
中身を下記のように書き換えてみたら
タグフィルタは動作するようになりました。
全体のコードを読んでいないので
正常な動作かどうかは判断しかねますが…
あと元がDLできなくなっているようです…
var tags = /<span id="tags">(.*?) <\/span>/.exec(this.responseText);
if (tags) {
  this.tagsHTML = tags[1];
  var text =  this.tagsHTML.replace(/ /g, "");
  var pattern = /<a href=\"tags.*?>(.*?)<\/a>/g;

  this.tags = [];
  var ret = null;
  while (ret = pattern.exec(text)) {
    if (ret[1] != "") this.tags.push(ret[1]);
  }
}

Posted by sue at 2011年08月21日 13:28
>> sue さん
PixivFilterは開発中止&公開停止することにしました。
色々お察し下さい。

コードはMITライセンスにしますので、やる気のある方がいれば自由に改変&再配布して頂いて構いません。
Posted by 膳 at 2011年08月21日 13:48
ダウンロードしたかったのですが、公開停止したのですか。
残念です。
Posted by at 2011年10月11日 01:35
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/14549741

この記事へのトラックバック

PixivFilter verうp
Excerpt: 投稿者が付けたタグに*が付くようになったのでそれに対応しました。 ついでにメンバーIDでフィルタかけられるようにしました。 使い方はタグの時と同じような感じで、NG_ID_LISTにカンマ区切りでフィ..
Weblog: 膳ブログ
Tracked: 2009-06-15 23:55

PixivFilterをAutoPagerizeに対応させました
Excerpt: pixivではAutoPagerizeを無効にしてたので絶賛放置中だったんですが、他のGMスクリプト見たら簡単そうだったので、AutoPagerizeに対応させました。 多分動く。 PixivFil..
Weblog: 膳ブログ
Tracked: 2009-06-16 00:03