Proxomitron フィルター作成スレッド Part8at SOFTWARE
Proxomitron フィルター作成スレッド Part8 - 暇つぶし2ch511:名無しさん@お腹いっぱい。
08/02/11 15:51:34 2dXZFCkK0
>>509
それだとリンクに'がまざったときにマッチしなかったのです(´・ω・`)

>>503は削りすぎました(´・ω・`)

512:think ◆MM0nnAOCiQ
08/02/11 16:07:03 JVJTtG3g0
>>511
> それだとリンクに'がまざったときにマッチしなかったのです(´・ω・`)
これってどういう状況なんでしょう?
テストウインドウ上では、>253のフィルタで>502のHTMLソースにマッチしましたし、実際にフィルタを見ても、「'」に原因があるようには思えませんでした。
<table> が以下のようになっていればマッチしませんが、そういうことなんでしょうか…。

<table width='600' border='0' align='center' cellspacing='2' cellpadding='4'>

513:名無しさん@お腹いっぱい。
08/02/11 16:07:43 2dXZFCkK0
>>510
おおおー。どもですっ。
理解力がどうも足りないようで、Boundsのマッチと、Matchによるマッチの差もよくわかってなかったりします。
コマンドの使い方もわからなくて、1から作ろうとすると全く機能しないものしか作れなかったりするので、
ほかの人のフィルタをいじるくらいしか出来てないのですが、今回NESTについての理解に一歩近づいたような気がしますっ。

誤爆があるなと思って、強引に、このBBSにしか使われていないURLに絞るためにURL=をつけてみたのです。

amazonのURLは和書だと以下のようなものもあるので、
URLリンク(www.amazon.co.jp)
E3%82%B9%E3%83%BB%E5%B9%B4%E9%BD%A2%E3%83%BB%E7%A4%BE%E4%BC%9A%E9%9A%8E%E5%B1%A4%E3%81%8C%
E6%9C%AA%E6%9D%A5%E3%82%92%E7%AA%81%E3%81%8D%E5%8B%95%E3%81%8B%E3%81%99-%E3%83%AD%E3%83%BC%E3
%83%AC%E3%83%B3%E3%82%B9%E3%83%BB%E3%83%88%E3%83%BC%E3%83%96/dp/4478001170/tecde-22/

URLリンク(www.amazon.co.jp)


(URLリンク(www.amazon.co.jp)(/*/|)(ASIN|dp|product)/[^/]+/[^-]+-22)にしてみたんですが、上のには駄目でした_| ̄|○


514:名無しさん@お腹いっぱい。
08/02/11 16:14:13 2dXZFCkK0
>>512
えっと、短いとだめっぽかったのですが、
○<a href=URLリンク(www.amazon.co.jp) target="_blank">ときめきメモリアル Girl's Side 2nd Seaso</a>
みたいに、アマゾンのリンクの名前部分に、「'」があって、このサイトのURL自動変換で、
<a href="URLリンク(dat.2chan.net)" target='_blank'>
というように、なぜか_blankが「'」でくくられてるのです。

「'」がアマゾンリンク内にないときは、普通に機能したのですが、「'」がリンク内にあって、なおかつ投稿メッセージ内にリンクが張られている場合は機能してなかったのです。
特定のジャンルがでた時だけ機能してなくて、原因が全くわからなくて数時間悩んでました。

515:名無しさん@お腹いっぱい。
08/02/11 16:24:13 2dXZFCkK0
>>512
適当に書き込める場所がなかったので、小さなテキストをzipにしてアップしてみました。
この状態になると、>>253のフィルタでは機能してなかったのです。
URLリンク(www2.uploda.org)

516:名無しさん@お腹いっぱい。
08/02/11 16:32:31 9RqHnvJn0
URLリンク(www.rakugakidou.net)

ここの両サイドの
・巡回お気に入りリンク
・気になるアイテム
・Amazonお買い物リンク
を非表示にできないでしょうか。

517:名無しさん@お腹いっぱい。
08/02/11 16:33:52 2dXZFCkK0
むむ。
>>510のフィルタでも、
URLリンク(202.212.88.55)
で、
リンク名に'がある、■ おもちゃ&ホビー-トップセラーと■ ゲーム-トップセラーになった時はマッチしないですね(´・ω・`)

「'」が何か引っかかるのかな・・・


518:名無しさん@お腹いっぱい。
08/02/11 16:34:24 6luyy03K0
>>510
今回のフィルターとは全く関係無いが
$NESTが上手く動作しない理由を始めて理解したよw

519:名無しさん@お腹いっぱい。
08/02/11 16:38:26 2dXZFCkK0
>>518
自分も全く思いもよらなくて、数時間に渡ってすこしづつ文字列を削ってようやく発見したので、別のところで役に立ったのならうれしい限りですっ。

結局今のところ>>505のフィルタじゃないとしっかり動いてくれてないです_| ̄|○

520:名無しさん@お腹いっぱい。
08/02/11 16:49:45 2dXZFCkK0
って自分へのレスじゃないのねん_| ̄|○

(URLリンク(www.amazon.co.jp)(ASIN|dp|product)/[^/]+/[^-]+-22(/|)) でいけましたっ。
けど機能しないときがあるのは変わらず(´・ω・`)

521:名無しさん@お腹いっぱい。
08/02/11 16:52:00 IsgBG2QX0
なんかカオスになってきたな…なんか違う話してるやつが混じってないか?

522:think ◆MM0nnAOCiQ
08/02/11 16:55:32 JVJTtG3g0
>>515
どうやら原因は、以下2つのようです。

・HTMLソースに </table> がない
・>253のフィルタでは、Limitが足りない

UPされたソースの最後に </table> を付け加えて、Limitを 4096 に変えたら>動作しました。
URLリンク(202.212.88.55) では </table> があるので、ソースのコピペで失敗しちゃってるのかもしれないです。

[Patterns]
Name = "253"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 4096
Match = "$NEST(<table\swidth="600",/table>)"
Replace = "<!-- 253 -->"

というわけで、「'」は無罪となりましたw

523:think ◆MM0nnAOCiQ
08/02/11 16:57:00 JVJTtG3g0
>>513
> amazonのURLは和書だと以下のようなものもあるので、
あ、そこまで厳密には考えてませんでした。
AmazonのURLは仕様変更が多々あって非常にわかりづらいですね。
Control URLのリスト用に書いた「Amazonの表現」があるので、これを改造して作ってみました。

■Control URL用リスト

# Amazon -- 新URLに転送
(www.|)amazon.(co.|)jp/(exec/obidos/ASIN/([\%~0-9%41-%5a]+{10}/)\0|gp/product/\0)&[Tab]$JUMP(URLリンク(www.amazon.co.jp))

# Amazon -- URL内の商品名文字列を削除
(www.|)amazon.(co.|)jp/[\%0-9a-z~]+{1,*}(-[\%0-9a-z~]+{1,*})+{1,*}/(dp/[\%~0-9%41-%5a]+{10}(/|(^?)))\0[Tab]$JUMP(URLリンク(www.amazon.co.jp))

■フィルタ

[Patterns]
Name = "TS: Kill amazon affiliate ad [2008/02/11] test1"
Active = TRUE
URL = "$TYPE(htm)202.212.88.55/(ch/|psp/)chabo.cgi(^?)"
Limit = 8192
Match = "$NEST(<table(\s|>),"
"*<a\s[^>]++href=$AV((http://(www.|)amazon.(co.|)jp/([\%0-9a-z~]+{1,*}(-[\%0-9a-z~]+{1,*})+{1,*}/|)"
"(dp/[\%~0-9%41-%5a]+{10}/|exec/obidos/ASIN/[\%~0-9%41-%5a]+{10}/|gp/product/[^/]+/)[^/-]+-22(/|)"
")\0)"
"*,</table>)"
Replace = "<!-- Kill Kill amazon affiliate ad: \0 -->"

■備考
アフィリエイトURLはよくわからないので、あまり深い検証はしてないです。
サンプルがあれば対応する気はありますので、希望があれば仰ってください。

524:名無しさん@お腹いっぱい。
08/02/11 17:06:30 2dXZFCkK0
>>522
はう。ありがとうです。
一列なのでわかりづらいのですが、</table>は<!--202.212.88.55-->の四つ前にあるのです。たしかにもう一つ加えるといいのですが、実際はないのです。
どうせならソース全部アップすべきでした。すみません。

ということでアップしてみました。
URLリンク(www.uploda.org)

525:名無しさん@お腹いっぱい。
08/02/11 17:14:59 2dXZFCkK0
よく考えたら、知識のないままいろいろなフィルタをつけてるので、それのどれかが干渉してることがあるかもしれないですね_| ̄|○

うちの環境なら>>505で一見普通に動くのは、その他のフィルタと何らかの干渉があるのかもしれないです。

526:think ◆MM0nnAOCiQ
08/02/11 18:41:55 JVJTtG3g0
>>524
> 一列なのでわかりづらいのですが、</table>は<!--202.212.88.55-->の四つ前にあるのです。
恥をさらしてしまいました……。orz

> URLリンク(www.uploda.org)
とりあえず、広告部分だけ抽出すれば、>522でマッチしました。(バイト制限に引っかかったので、下記HTMLは一部削除してあります)

<table width="600" border="0" align="center" cellspacing="2" cellpadding="4"><tr><td><small>■ おもちゃ&ホビー-トップセラー(Amazonアソシエイト)
○<a href="URLリンク(www.amazon.co.jp)" target="_blank">Figma 涼宮ハルヒの憂鬱 長門有希 制服ve</a>
○<a href="URLリンク(www.amazon.co.jp)" target="_blank">アクションフィギュアコレクション+ToHea</a>
○<a href="URLリンク(www.amazon.co.jp)" target="_blank">HG グラハム専用ユニオンフラッグカスタ</a>
○<a href="URLリンク(www.amazon.co.jp)" target="_blank">魔法少女リリカルなのはA's フェイト・テ</a>
○<a href="URLリンク(www.amazon.co.jp)" target="_blank">デスノート ねんどろいど 夜神月 サンタV</a>
○<a href="URLリンク(www.amazon.co.jp)" target="_blank">アクションフィギュアコレクション 機動戦</a>
○<a href="URLリンク(www.amazon.co.jp)" target="_blank">マビノギ ねんどろいど ナオ (ノンスケー</a>
</small></td></tr></table>

全HTMLを対象にすると>522ではマッチしませんね。(Limitをあげてもダメ)

527:think ◆MM0nnAOCiQ
08/02/11 18:43:08 JVJTtG3g0
$NEST起因の問題かどうかは今ひとつわかりませんがとりあえず、$NESTを使わない方式に切り替えてみましょうか。

[Patterns]
Name = "TS: Kill amazon product url [2008/02/11] test2"
Active = TRUE
URL = "$TYPE(htm)202.212.88.55/(ch/|psp/)chabo.cgi(^?)"
Limit = 8192
Match = "<table(^(^(\s|[^>]+>)"
"((^</+table>)?)++<a\s[^>]++href="
"$AV((http://(www.|)amazon.(co.|)jp/([\%0-9a-z~]+{1,*}(-[\%0-9a-z~]+{1,*})+{1,*}/|)"
"(dp/[\%~0-9%41-%5a]+{10}/|exec/obidos/ASIN/[\%~0-9%41-%5a]+{10}/|gp/product/[^/]+/)([^/-]+-22(/|)|)"
")\0)))"
Replace = "\r\n<table style='display: none'"

更新点
- アフィリエイトが付かないURLにも反応するようにした (>524のAmazonのリンクはアフィリエイトではありませんでした)
- $NEST を外し、先読みでAmazon URLを発見したら、table要素に "display: none" を適用するようにした

# >524での正常動作を確認済みです。

528:think ◆MM0nnAOCiQ
08/02/11 18:58:56 JVJTtG3g0
>>525
> その他のフィルタと何らかの干渉があるのかもしれないです。
検証時に少し気になったのですが、>524はフィルタ適用後のソースですよね?
(私が作成したフィルタが出力したと思われるHTMLが混じっていたので)

HTMLソースをテストにかけるときには、Proxomitronを通さないバイパス状態のHTMLでテストするのが一番いいです。
フィルタリング後のソースに対してテストするということは、干渉すること前提の検証になってしまいます。
Web制作者が作ったそのままのHTMLでテストした後に「フィルタが干渉しないようにするにはどうしたらいいか」を考える方が無駄が少ないと思います。

# 私の環境では>523のフィルタで URLリンク(202.212.88.55) の広告を削除できているので、
# 問題があったとしても原因がどこにあるのかが判断できないでいます。

次にまた問題が発生したら、バイパス時のソースで試してみてはどうでしょうか。
自分で考えてわからなければ、また一緒に考えてみましょう。

529:名無しさん@お腹いっぱい。
08/02/11 19:29:52 2dXZFCkK0
>>527
ありがとうございますっ。
今回のフィルタで完全にフィルタが見えなくなってましたっ(≧▽≦)
Boundsのほうがなんとなく安心して使えるような気がします。

ただ、掲示板群全部を対象にしたいので、URLのマッチについては
$TYPE(htm)202.212.88.55/|techside.in.arena.ne.jp/ に変更してみましたっ。

 この掲示板群で、唯一改行が完全に入ってるURLリンク(202.212.88.55)だと、もとのフィルタで問題がなかったのですが、全てが一行になってるほかの掲示板では機能しなかったのです。
それから、アマゾン部分を抜き出しただけでは機能するのですが、このソースの最後に、一つ以上「'」をつけると、いきなり機能しなくなります。
このことが、「'」が原因じゃないかと自分が考えた理由です。
>>526のソースも、全ての改行を削除して、最後に「'」の一文字だけを追加するだけで、Proxomitron側のテストでも、合致なしとなってしまいます。(バージョンはNaoko 4.5(2003-6-1)+6です。


あと、デフォルトのソースだとIPアドレスがそのまんまソースに乗ってしまうので、ついフィルター後のをアップしてしまいました。
一応、全て一行になっている、Proxomitronを通さないソースもアップしときます。(undonuts使ってるので切り替えは楽なので。)
IPアドレスだけはIPアドレスと書き換えておきました。こっちのソースで試しても、もとのフィルタではもちろん駄目でした。上記条件でも全く一緒でした。

URLリンク(www.uploda.org)


それにしても、掲示板にアクセスしただけで自分のIPがソースに載るってことは、投稿時か何かに使われるってことですかね?


530:名無しさん@お腹いっぱい。
08/02/11 19:36:01 2dXZFCkK0
>>528
あっと、>>523のフィルタの場合、私の環境でもほとんどの場合問題がないです。大体削除できています。
でも、何度もクリックしていると、「'」のあるリストだけは削除されずに表示されるのです。

初見の場合はもちろん気づかないのですが、このサイトのユーザー的には一日に何度も見るので気にかかってたのでした。
この掲示板群のあるサイトについてですが、この一言形式の掲示板はこのサイトの主催者が自分でソースを改造したりして作ってて、URLとかも独自なものとなってます。

531:名無しさん@お腹いっぱい。
08/02/11 19:54:16 2dXZFCkK0
>>530
違った。

>あっと、>>523のフィルタの場合、
ではなくて、>>522のフィルタの場合。でした。
>>523の場合はこっちで試して結果は同じです。(アフィリエイトIDなので、アフィ内のhの文字を抜いておきましたが、抜く前でも抜いたあとでも結果は同じでした)
(改行は全て削除して試した場合です。最後に「'」を入れてます。外すと合致します。)

<table width="600" border="0" align="center" cellspacing="2"
cellpadding="4"><tr><td><small>■ おもちゃ&ホビー-トップセラー(Amazonアソシエイト)
○<a href=URLリンク(www.amazon.co.jp) target="_blank">Figma 涼宮ハルヒの憂鬱 長門有希 制服ve</a>
○<a href=URLリンク(www.amazon.co.jp) target="_blank">アクションフィギュアコレクション+ToHea</a>
○<a href=URLリンク(www.amazon.co.jp) target="_blank">HG グラハム専用ユニオンフラッグカスタ</a>
○<a href=URLリンク(www.amazon.co.jp) target="_blank">魔法少女リリカルなのはA's フェイト・テ</a>
○<a href=URLリンク(www.amazon.co.jp) target="_blank">P:キャラ 涼宮ハルヒの憂鬱 涼宮ハルヒ</a>
○<a href=URLリンク(www.amazon.co.jp) target="_blank">デスノート ねんどろいど L トナカイVer.</a>
○<a href=URLリンク(www.amazon.co.jp) target="_blank">デスノート ねんどろいど 夜神月 サンタV</a>
○<a href=URLリンク(www.amazon.co.jp) target="_blank">アクションフィギュアコレクション 機動戦</a>
○<a href=URLリンク(www.amazon.co.jp) target="_blank">マビノギ ねんどろいど ナオ (ノンスケー</a>
</small></td></tr></table>'

532:名無しさん@お腹いっぱい。
08/02/11 19:58:48 IsgBG2QX0
>>529
ソースにリモホ出してる意味はわからないけど、それとそのIPを使うかどうかは別問題というか
そもそもTCP/IPで通信するならこちらのIPを通知しないと通信が成立しないから。
(初対面の人にこちらの住所書かないで「必ず返信ください」って葉書出してもムリなのと同じ)
リモホを公開ページ上で利用するかしないかは管理人次第だけど、まぁ、要するに全く別問題。

このリモホを表示するってのはこの『ChaBo』っていう掲示板CGI自体の初期仕様だね。
TECHSIDEの中の人が意図的に表示してるわけではないみたいよ。

>>530
> URLとかも独自なものとなってます。
なんのこっちゃ?
ぶっちゃけTECHさんは何も改造してないみたいだぞ。
ていうか改造してるとかしてないとかオリジナルかどうかとか、フィルタ書くのに関係ないよね?
必死に何かを伝えたいようだが、何を伝えたいのか理解に苦しむ。
わけわからなくなってるのは俺だけかもしれないけど…。そうなら、ごめん。
ちょっと一度落ち着いてからにした方がいいんじゃないかな。

533:名無しさん@お腹いっぱい。
08/02/11 20:07:45 2dXZFCkK0
>>532
そかぁ。
門外漢なので、テンションあげないとなかなか新しい試みをするのが大変なのでした。
他人じゃなくてアクセスした自分だけのIPが自分だけに表示されるのってのが、あんまりそういうのソースだけに乗ってるのがひっかかるなぁと思ったのです。
管理人次第ということはやっぱ使えることは使えるのかもしれないですね。
このところでURLリンク(202.212.88.55)の202.212.88.55ってIPアドレスはTECHSIDE以外でも普通に使われてるアドレスになのかはわかります?
独自といったのは、独自だからフィルタを作るうえでURL限定にしてるだけで、誤爆の危険がほとんどないなぁと思ったわけなのです。独自だと思ったのは経験上の推測ですけどね(`・ω・´)

534:名無しさん@お腹いっぱい。
08/02/11 20:29:59 IsgBG2QX0
>>533
なるほど、URL Matchの誤爆を警戒してたのね。
TECHSIDEは共用サーバで済むようなアクセス規模じゃないから、専用サーバだと思う…多分。
そうでないとしても、thinkさんみたいに/chabo.cgiまで見るMatchなら実用上問題はないでしょう。

で、確かにケツにシングルクォートを付けると突然Matchしなくなるのはこちらでも確認…
なんでだろう。

俺個人としてはAmazonのURLまで見なくてもURL Matchとwidth="600"を見るだけで
実用上誤爆の危険はほぼ皆無と踏んでるので、これくらいシンプルに書いちゃう。

[Patterns]
Name = "TS: Hide amazon ad [2008/02/11]"
Active = TRUE
URL = "(202.212.88.55|techside.in.arena.ne.jp)/*chabo.cgi $TYPE(htm)"
Limit = 64
Match = "<table width="600"[^>]+"
Replace = "<table style="display:none""

これで、全てのページで動作するのは確認できました。
多分thinkさんは妥協しないでしょうがwもし妥協するならこれでどうでしょう?

535:名無しさん@お腹いっぱい。
08/02/11 20:34:48 IsgBG2QX0
いや、ていうかあれか。もうなんでケツに'が付いてると動作しないのかを
ひたすら検証する流れになってるのか。なんかくらくらしてきた。

ごめんなさい。俺が悪かったですorz

536:名無しさん@お腹いっぱい。
08/02/11 20:56:39 MWE86p/20
$NESTに>510のような仕様があったなんて……。
ちょうど対策に困っているフィルタがあるので、ひとつ改善を依頼してみます。

Name = "invisible frames to links1 (2007.06.04)"
Active = FALSE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "*(cols|rows)=$AV("
"( (0%|[01])\1 , \2| (^0%|[01])\1 , (0%|[01])\2| (100%)\1 , (0%|[01]|\*)\2| (100%|\*)\1 , (0%|[01])\2) "
"((,*)\7$SET(frame3=<p>[more frames found]</p>\r\n)|)"
")"
"*<frame\s(([^>]++name=$AV(\3)|$SET(3=no-name)&[^>]++src=$AV((?*)\5)|$SET(5=about:blank)"
")$SET(frame1=<p>[frame - &quot;\3&quot; - \1]<br>\r\n<a href="\5">\5</a></p>\r\n))"
"(*<frame\s(([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(frame2=<p>[frame - &quot;\4&quot; - \2]<br>\r\n<a href="\6">\6</a></p>\r\n)"
")|$SET(frame2=<p>[frame not found]</p>\r\n))"
"(*<frame\s$SET(frame3=<p>[more frames found]</p>\r\n)|)"
"*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n"
"$GET(frame1)$SET(frame1=)"
"$GET(frame2)$SET(frame2=)"
"$GET(frame3)$SET(frame3=)"
"</body>"

アクセス性の向上を目的としたフィルタ。
UAに表示されるURLを固定させるために見えないフレームを使っているサイトがあり、
これらのサイトで「戻る」動作をすると、戻りたくない場所まで戻ることがある。
このフィルタは、フレームをアンカー化することにより見えないフレームを可視化する。

537:名無しさん@お腹いっぱい。
08/02/11 21:00:41 2dXZFCkK0
>>534-535
ありがとですっ。
$NESTはなんとなく今回謎の挙動をしたので、$NESTは外した形で、フィルタは>>527で完璧だと思うのですが、
自分がじっくり見たソースがもとにした新しいフィルタをみるのは勉強になりますね。
>>1のProxomitron等に関するWiki でマッチングルールとにらめっこしてても、イマイチ理解できないというかどうもさっぱりなのですが、新しく書いてくれたのを見ると
前のと見返して、なるほどと思える部分があっていい感じなのです。
$NESTを使う意味については>>510で教えてもらったページを読んでもまだしっかりとわかってないのですが_| ̄|○

538:名無しさん@お腹いっぱい。
08/02/11 21:02:12 MWE86p/20
誤爆する例。
内側のframesetにのみマッチすると想定通りの結果が得られるが、
外側のframesetにまでマッチしてしまう。

<frameset rows="89,*" border="1">
<FRAME name="topFrame" height="89" scrolling="NO" noresize marginheight="0" marginwidth="0" src="head.htm">
<FRAMESET rows="50%,0" frameborder="NO" border="0">
<FRAME name="mainFrame" marginheight="0" marginwidth="0" src="main.htm">
<FRAME name="voice" src="voice.htm" noresize scrolling="NO">
</FRAMESET>
<NOFRAMES><P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P></NOFRAMES>
</frameset>

考えられる対策
・バイト制限。ただし、根本的な対策にならない。
・$NESTを使わない。
・$NESTを使いつつ、条件を改善する。
できれば$NESTを使えるほうが速さを落とさずに済むような気がします。

539:名無しさん@お腹いっぱい。
08/02/11 21:09:17 glm8Ht4E0
$NESTを使えば早くなるという嘘を広めてるのは誰なんだ。

540:think ◆MM0nnAOCiQ
08/02/11 21:12:05 JVJTtG3g0
>>529
> 全てが一行になってるほかの掲示板では機能しなかったのです。
どうやら、これが原因みたいですね。
>531のHTMLを一行にして、テストウインドウで検証すると興味深い結果になりました。

■>523のフィルタの場合

- HTMLソースの一部に改行を含むと、マッチする
- </table> の直後に ' を挿入するとマッチしない
- </table> の直後に改行以外の文字を挿入して、その後「'」を挿入するとマッチしない (例) </table>test'

■回避策
$NEST を $INEST に変更することで、問題を回避できるようです。

[Patterns]
Name = "TS: Kill amazon affiliate ad [$INEST] [2008/02/11] test1"
Active = TRUE
URL = "$TYPE(htm)(techside.in.arena.ne.jp/|202.212.88.55/)*/chabo.cgi(^?)"
Limit = 4096
Match = "<table(\s|>)$INEST(<table(\s|>),"
"*<a\s[^>]++href=$AV((http://(www.|)amazon.(co.|)jp/([\%0-9a-z~]+{1,*}(-[\%0-9a-z~]+{1,*})+{1,*}/|)"
"(dp/[\%~0-9%41-%5a]+{10}/|exec/obidos/ASIN/[\%~0-9%41-%5a]+{10}/|gp/product/[^/]+/)[^/-]+-22(/|)"
")\0)"
"*,</table>)</table>"
Replace = "<!-- Kill Kill amazon affiliate ad: \0 -->"

>>534
> 多分thinkさんは妥協しないでしょうがw
別に対抗意識を燃やしたわけじゃないんだか(ry

541:名無しさん@お腹いっぱい。
08/02/11 21:17:51 IsgBG2QX0
>>540
いやいや、変な挙動をすると原因と対策がわかるまでとことん調べてくれるのは
いつもthinkさんなので…。そういう意味で、妥協しない、と。変な意味じゃないんですよ。
いつも勉強になってます。

542:think ◆MM0nnAOCiQ
08/02/11 21:31:26 JVJTtG3g0
>>531
> URLリンク(202.212.88.55)の202.212.88.55ってIPアドレスはTECHSIDE以外でも普通に使われてるアドレスになのかはわかります?
Nslookupするとわかりますが、techside.in.arena.ne.jp と 202.212.88.55 は同じ場所です。
なので、202.212.88.55 も独自と見ていいと思います。
URLリンク(www.cybersyndrome.net)

>>536,538
内側、外側の両方のframeをアンカー化するのが希望でしょうか?
あるいは、内側のみのアンカー化でしょうか。
期待する結果のHTMLがわかれば、力になれるかもしれません。

>>541
あ、いや、ネタとして返した以上の意味はなくて、好意的に受け取ってます。
私はこういう切り返しのセンスがないんですね。
ごめんなさい。

543:名無しさん@お腹いっぱい。
08/02/11 21:35:57 2dXZFCkK0
>>540
何度もありがとうございますっ。
ただ、私のところでは、今回の$INESTをつかったフィルタでも、URLリンク(202.212.88.55)で、>531の■ おもちゃ&ホビー-トップセラーがでた場合、表面に出てきてしまいました。
Proxomitron側で>531の文字列で最後に ' を入れてテストみても[合致なし]になってしまいました。
>>527以外だと、最初のものに*を加えただけの>>505機能してるという謎の状況です。
こんがらかりますね_| ̄|○

でも>>527を$TYPE(htm)(techside.in.arena.ne.jp/|202.212.88.55/)*/chabo.cgi(^?)に書き換えて機能してるからおっけです(`・ω・´)

544:名無しさん@お腹いっぱい。
08/02/11 21:44:16 2dXZFCkK0
>>542
なるほど。
そうすると、自分でこの一言板群に対してフィルターを作ってみる時も、URLで限定しとけば安心っぽいですね。とはいっても、そうそうフィルターを作ることはないでしょうけど。

545:名無しさん@お腹いっぱい。
08/02/11 21:55:21 MWE86p/20
どうも$NESTは速度向上に役立つという固定観念があります。
今回書いたフィルタではframesetの入れ子を解釈する必要があり、
範囲を指定するために$NESTを使っていたことを忘れていました。

>542
内側のframeset内にあるフレームのみアンカー化するのが希望です。
<frameset rows="89,*" border="1">
外側のframesetはそのままでもフレームが見えるので、マッチさせないようにします。
<FRAMESET rows="50%,0" frameborder="NO" border="0">
内側のframesetではrows="0"にあたるフレームが見えなくなるので、
マッチさせる対象になります。
>538の場合、期待する結果は以下のようになります。

<frameset rows="89,*" border="1">
<FRAME name="topFrame" height="89" scrolling="NO" noresize marginheight="0" marginwidth="0" src="head.htm">
<body class="invisible-frames">
<p>invisible frames found</p>
<p>[frame - &quot;mainFrame&quot; - 50%]<br>
<a href="main.htm">main.htm</a></p>
<p>[frame - &quot;voice&quot; - 0]<br>
<a href="voice.htm">voice.htm</a></p>
</body>
<NOFRAMES><P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P></NOFRAMES>
</frameset>

フレームをすべてアンカー化する方法も考えたものの、
そこまでするといちいちアンカーから移動するのが面倒に感じたので、一応やめました。

546:think ◆MM0nnAOCiQ
08/02/11 22:05:34 JVJTtG3g0
>>543
> 今回の$INESTをつかったフィルタでも、URLリンク(202.212.88.55)で、>531の■ おもちゃ&ホビー-トップセラーがでた場合、表面に出てきてしまいました。
あ、あれ…?
$INEST版でも、>531を1行にまとめたコードでもマッチしなくて、「■ おもちゃ&ホビー」が出た場合、表面に出てきてしまいました。
検証不足ですね…。失礼しました。

ちょっと思いついたことがあって試してみましたが、今度こそ当たりっぽいです。
>531の問題発生条件は、2つあって

1. </table> の後ろの「'」がある
2. <table> 内部に「'」を含んでいる

というように、2つの「'」が関係しているようです。
>531が 2. で該当しているのは「魔法少女リリカルなのはA's フェイト・テ」ですね。
なので、「A's → As」の変更を加えるだけでも問題を回避できました。

547:think ◆MM0nnAOCiQ
08/02/11 22:13:11 JVJTtG3g0
問題をわかりやすくするために、コードをシンプルにしてみました。

■テスト用のHTMLソース

<test>'</test>'

■テスト用フィルタ

[Patterns]
Name = "$NEST + ' test1"
Active = TRUE
Limit = 256
Match = "$NEST(<test>,</test>)"
Replace = "Replaced"

■不具合症状
$NESTで本来マッチするはずの状況で、マッチしない

■再現条件
$NESTの第二引数の範囲に ' が存在し、$NESTの後に ' が存在する

■回避策
$NESTの第一引数で ' を消費する。
つまり、

Match ="$NEST(<test>',</test>)"

ならば、マッチする。
ただし、入れ子チェックが有効に働かないので、実用的ではない。

548:think ◆MM0nnAOCiQ
08/02/11 22:16:17 JVJTtG3g0
>547に訂正を入れます。m(_ _)m

■再現条件
以下の2つの条件がそろっている時に再現する。

- $NESTの第二引数の範囲に ' が存在し、$NESTの後に ' が存在する。
- $NESTで消費してから、' が存在する場所まで改行されていない

549:名無しさん@お腹いっぱい。
08/02/11 22:25:12 2dXZFCkK0
どもですっ。
条件はそれですねっ。

この板のアマゾンの商品はその日のランキングによってころころ変わるので、今あるほかのランキングでは、ゲームだと、【○ときめきメモリアル Girl's Side 2nd Seaso】がひっかかって表面化するのですが、次はどのジャンルのどんな商品に「'」がくるのかわからないので、
<table>の中に「'」があったら「'」だけを無視する感じならいいかもと思ったのが最初のカキコで書いた>>496のフィルターの意図だったのです。
それが、なんか記号間違えてたうえに「*」を加えただけでなぜかうまくいったのでさらにこんがらがったのです。

550:think ◆MM0nnAOCiQ
08/02/11 22:48:41 JVJTtG3g0
>>549
>496でマッチするのは、$NESTの第一引数「*['|]*」で ' を消費してしまっているからです。(>547の回避策と原理は同じ)
>505がマッチするのも、* で ' を消費しているから。
ですが、* は貪欲に消費するので、誤爆を考えると使いたくないところです。

再現条件を知ってから、以下のフィルタで ' → ' の置換をして回避を試みましたが、徒労に終わりました。
処理順の関係で有効でないのはわかってはいたのですが……。

[Patterns]
Name = "BugFix: $NEST + single quotation [2008/02/11] test1"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = ">(([^<>]++)\#'$SET(#='))+{1,*}"
Replace = ">\@"

551:think ◆MM0nnAOCiQ
08/02/11 22:52:48 JVJTtG3g0
>>545
時間の都合で暫定対処ですが、下記フィルタで望み通りの結果を得られると思います。

更新点
- 最小の <frameset> にマッチするようにした

[Patterns]
Name = "invisible frames to links1 [2008/02/11] fixed test1"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "[^>]++(cols|rows)=$AV("
"( (0%|[01])\1 , \2| (^0%|[01])\1 , (0%|[01])\2| (100%)\1 , (0%|[01]|\*)\2| (100%|\*)\1 , (0%|[01])\2) "
"((,*)\7$SET(frame3=<p>[more frames found]</p>\r\n)|)"
")"
"((^<frameset)?)++<frame\s(([^>]++name=$AV(\3)|$SET(3=no-name)&[^>]++src=$AV((?*)\5)|$SET(5=about:blank)"
")$SET(frame1=<p>[frame - "\3" - \1]<br>\r\n<a href="\5">\5</a></p>\r\n))"
"(((^<frameset)?)++<frame\s(([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(frame2=<p>[frame - "\4" - \2]<br>\r\n<a href="\6">\6</a></p>\r\n)"
")|$SET(frame2=<p>[frame not found]</p>\r\n))"
"(((^<frameset)?)++<frame\s$SET(frame3=<p>[more frames found]</p>\r\n)|)"
"((^<frameset)?)+"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n"
"$GET(frame1)$SET(frame1=)"
"$GET(frame2)$SET(frame2=)"
"$GET(frame3)$SET(frame3=)"
"</body>"

552:think ◆MM0nnAOCiQ
08/02/11 22:53:40 JVJTtG3g0
>>551の続き。

* を ((^<frameset)?)++ に変更することで、$NEST() 内部に <frameset> を持たないようにしています。
まだ最適化の余地はありそうでしたが、時間の関係で今回は暫定対処に留めました。
時間がとれたら、また手を入れてみようと思います。

553:think ◆MM0nnAOCiQ
08/02/11 23:05:55 JVJTtG3g0
時間がとれたらと言いながら、よりスマートな解決法に気がついたのでほんの少し更新。

更新点
- cols属性、rows属性を <frameset> のタグ内で読むようにした (>551で修正しています)
- <frameset> の内部チェックを (^*<frameset>) に変更

[Patterns]
Name = "invisible frames to links1 [2008/02/11] fixed test2"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "[^>]++(cols|rows)=$AV("
"( (0%|[01])\1 , \2| (^0%|[01])\1 , (0%|[01])\2| (100%)\1 , (0%|[01]|\*)\2| (100%|\*)\1 , (0%|[01])\2) "
"((,*)\7$SET(frame3=<p>[more frames found]</p>\r\n)|)"
")[^>]+>"
"(^*<frameset>)"
"*<frame\s(([^>]++name=$AV(\3)|$SET(3=no-name)&[^>]++src=$AV((?*)\5)|$SET(5=about:blank)"
")$SET(frame1=<p>[frame - "\3" - \1]<br>\r\n<a href="\5">\5</a></p>\r\n))"
"(*<frame\s(([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(frame2=<p>[frame - "\4" - \2]<br>\r\n<a href="\6">\6</a></p>\r\n)"
")|$SET(frame2=<p>[frame not found]</p>\r\n))"
"(*<frame\s$SET(frame3=<p>[more frames found]</p>\r\n)|)"
"*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n"
"$GET(frame1)$SET(frame1=)"
"$GET(frame2)$SET(frame2=)"
"$GET(frame3)$SET(frame3=)"
"</body>"

554:名無しさん@お腹いっぱい。
08/02/11 23:10:26 2dXZFCkK0
>>550
なるほど。
処理の優先順位とか、* の強力さとかでマッチだけはしてたって感じなんですね。
原因を理解できてよかったですっ。

555:名無しさん@お腹いっぱい。
08/02/11 23:11:06 2fgXrnTY0
>think氏
$NESTの誤爆マッチングの例、間違ってる。
<div class='ad'>では無く<div class='ad2'>では?

556:名無しさん@お腹いっぱい。
08/02/11 23:13:40 yWxR+VFR0
テロリストが暗号でやり取りしてるスレっぽいので通報しました

557:名無しさん@お腹いっぱい。
08/02/12 00:39:13 BHlZGebP0
JavaScriptがonだと(何時もonです)メール欄がsageになりません。
方法を教えてください。

Name = "2ch Reset+"
Active = TRUE
URL = "[^/]++.(2ch.net|bbspink.com)/"
Limit = 30
Match = "<input name=mail size=19>"
Replace = "<input name=mail size=19 value="sage">"

558:名無しさん@お腹いっぱい。
08/02/12 01:06:42 i0NSgIrU0
>551-553
どうもありがとうございます。希望する動作になりました。
最深部のframesetにマッチするしくみのようで、
マッチの対象になるframesetが多重にあった場合、
階層の浅い方のframesetにはマッチしないことになりますね。
ただ、フレーム関連はただでさえ要素が入り乱れて対処が面倒なので、
誤爆対策だけしっかりしておけばだいたい通用するかと思います。
(^*<frameset>)の部分では、「>」は必要でしょうか。
「\s」などに置き換えたり消したりしても問題なく動作しているように見えますが、
あえて「>」を入れる理由があれば知りたいです。

もともと3つ以上のフレームに同時に対応させるつもりで設計したフィルタですが、
現在のところ2つまでしか対応させていないので、
グローバル変数を削除するなど細部のメンテナンスをしました。

559:名無しさん@お腹いっぱい。
08/02/12 01:07:44 i0NSgIrU0
Name = "invisible frames to links1 (2008.02.12 beta1)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "[^>]++(cols|rows)\0=$AV( "
"((0%|[01])\8 , \9|(^0%|[01])\8 , (0%|[01])\9|(100%)\8 , (0%|[01*])\9|(100%|[*])\8 , (0%|[01])\9) "
"(,*$SET(3=<li>more frames found</li>\r\n)|)"
")[^>]+>"
"(^*<frameset)"
"(*<frame\s([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(1=<li><dl>\r\n<dt>frame: \4; \0="\8"</dt>\r\n<dd><a href="\6">\6</a></dd>\r\n</dl></li>\r\n))"
"((*<frame\s([^>]++name=$AV(\5)|$SET(5=no-name)&[^>]++src=$AV((?*)\7)|$SET(7=about:blank)"
")$SET(2=<li><dl>\r\n<dt>frame: \5; \0="\9"</dt>\r\n<dd><a href="\7">\7</a></dd>\r\n</dl></li>\r\n)"
")|$SET(2=<li>frame: not found</li>\r\n))"
"(*<frame\s$SET(3=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n<ol>\r\n\1\2\3</ol>\r\n</body>"

560:名無しさん@お腹いっぱい。
08/02/12 01:34:47 i0NSgIrU0
>最深部のframesetにマッチするしくみ
と書いて気づいたのですが、以下のような例だと>559はマッチしませんでした。

<frameset rows=" 100% , 0 ">
<frame name="MENU" src="menu.html">
<frameset rows=" 100 , 0 ">
<frame name="CONTENT1" src="content1.html">
<frame name="CONTENT2" src="content2.html">
</frameset>
</frameset>

この例の場合、本来なら外側のframesetのみマッチさせる対象になり、
内側のframesetはマッチさせる対象になりません。
外側にマッチさせてそこにbody要素を置く都合上、
内側のframesetの存在はどうでもよくなります。
>536は内側のframesetを無視してフレームをアンカー化させるものの、
>559では(^*<frameset)の副作用で[合致なし]になります。
(^*<frameset)を取り除くとマッチするので、
(^*<frameset)以外によい方法を考えるか、>536と併用することになりそうです。

561:名無しさん@お腹いっぱい。
08/02/12 02:02:14 35uGtF5T0
ここはちんこ隔離スレ

562:名無しさん@お腹いっぱい。
08/02/12 07:41:40 wqKSu80P0
>>516
まだみてたら。
素人的アプローチ。

[Patterns]
Name = "Naruse junkai deleter (technashi)"
Active = TRUE
URL = "www.rakugakidou.net/"
Limit = 30000
Match = "$NEST(<table\scellpadding="0"\scellspacing="0"\swidth="172",/table>)"

[Patterns]
Name = "Naruse kininaru deleter (technashi)"
Active = TRUE
URL = "www.rakugakidou.net/"
Limit = 15000
Match = "$NEST(<td\swidth="178"\salign="left"\svalign="top",/table>)"

[Patterns]
Name = "Naruse amazon deleter (technashi)"
Active = TRUE
URL = "www.rakugakidou.net/"
Limit = 30000
Match = "$NEST(<table\scellpadding="0"\scellspacing="0"\swidth="170",/table>)"



563:名無しさん@お腹いっぱい。
08/02/12 12:48:20 th3f4nE80
>$NEST(<a\s,</a>) は <a\s*</a> よりも高速に動作する、という事です。
これ、\sの直後に*が来てるから後者が遅いだけじゃないか?

$NEST(<a(\s*|)>,</a>) と <a(\s*|)>*</a>
検索対象=「<a hoge>url</a>aaaaaaaaaaaaaaaaaaaaaaaaa」を100個並べた物
だと逆転する。どっちにしろ誤差の範囲内だが。

564:名無しさん@お腹いっぱい。
08/02/12 14:06:03 km+9XMCY0
萌え連
URLリンク(moepic.dip.jp)

invisible frames to linksで上のサイトが表示変になったので報告

565:名無しさん@お腹いっぱい。
08/02/12 18:23:21 jj6CnmeU0
>>516
自分はこれで見てます

[Patterns]
Name = "Rakugakido Filter"
Active = TRUE
URL = "www.rakugakidou.net"
Limit = 20480
Match = "$NEST(<a\sh[^>]++hobbystock.jp,</a>)|"
"$NEST(<p\salign="center">,</p>)|"
"$NEST(<table[^w]++width="530" height="1(1|2)0",</table>)|"
"$NEST(<table[^w]++width="170,</table>)|"
"$NEST(<(no|)script,</(no|)script>)|"
"$NEST(<table[^w]++width="896" height="120,</table>)"
Replace = "<!-- Proxo for rakuga -->"

よりスマートなやり方があれば、申し訳ないが教えて頂きたい

566:557
08/02/12 18:40:45 //JOoZX+0
誰か教えてください><

567:名無しさん@お腹いっぱい。
08/02/12 19:01:49 Nj8kOjuR0
>>563
$NESTで高速化したと思ってる人にはそう思わせてあげようよ。
$NESTを使うと逆に何倍も遅くなるケースだってあるけどそれでも体感的には変化ないし。

568:名無しさん@お腹いっぱい。
08/02/12 19:09:37 pUo7c5Po0
>>565
Limit = 64
Match = "<td width="180" align="left" valign="top">"
Match = "$SET(0=<td style="display:none">)|"
Match = "\] </h4>$SET(0=\] </h4>\k$STOP())"
Replace = "\0"

569:名無しさん@お腹いっぱい。
08/02/12 19:27:48 jj6CnmeU0
>>568
ありがとうございます。とてもスマートです

570:516
08/02/12 21:15:15 /QvU7x9R0
>>562,565,568
ありがとうございます。
広告がなくなり快適に見られるようになりました。

571:名無しさん@お腹いっぱい。
08/02/12 21:32:44 i0NSgIrU0
IDはまだ変わってないかな。

>564
わざわざ報告ありがとうございます。
しかしながら、これは仕様通りの動作です。以下で説明します。

マッチさせる前のソース。いらない部分は省略。
<frameset cols="145,*">
<frameset rows="*,0">
<frame src="menu.htm" name="menu">
<!-- <frame src="realtime/real_moe.cgi" name="menu"> -->
</frameset>
<frame src="top.htm" name="top">
</frameset>

マッチさせた後のソース。
<frameset cols="145,*">
<body class="invisible-frames">(略)</body>
<frame src="top.htm" name="top">
</frameset>

572:名無しさん@お腹いっぱい。
08/02/12 21:33:27 i0NSgIrU0
<frameset cols="145,*"><frame src="top.htm" name="top"></frameset>
framesetの中にbodyを含んではならないことになっているので、bodyは無視されます。
その結果、無視されなかった左フレーム(cols="145")だけが描画され、
右フレーム(cols="*")には何も描画されません。

このフィルタはもともと、外側のframesetにマッチさせることを前提とした設計なので、
今回のような場合は誤爆に近い扱いになります。
>564のような場合に対応する
(内側のframesetにマッチさせても期待する結果を得る)には
もっと複雑なフィルタを考えるか追加でフィルタを作成するなどの必要があり、
そこまで対応させることは考えていません。
わざわざ対応させなくても、今回のような場合は
このフィルタが原因で右フレームが描画されなくなったのは明白なので、
問題があった場合に備えてあらかじめ$KEYCHKを設定しています。
$KEYCHKでこのフィルタをバイパスさせるか、
dbug..からソースを見て行きたいフレームの場所を特定することで対策してください。

573:名無しさん@お腹いっぱい。
08/02/12 21:39:54 i0NSgIrU0
>559-560の対策として改善をほどこしたフィルタ。
$NESTの中身を調整することで、>538に書いた誤爆を回避した。

Name = "invisible frames to links1 (2008.02.12 beta2)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset\s[^>]+>,</frameset>)"
Limit = 3072
Match = "[^>]++(cols|rows)\0=$AV( "
"((0%|[01])\8 , \9|(^0%|[01])\8 , (0%|[01])\9|(100%)\8 , (0%|[01*])\9|(100%|[*])\8 , (0%|[01])\9) "
"(,*$SET(3=<li>more frames found</li>\r\n)|)"
")[^>]+>"
"(*<frame\s([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)"
")$SET(1=<li><dl>\r\n<dt>frame: \4; \0="\8"</dt>\r\n<dd><a href="\6">\6</a></dd>\r\n</dl></li>\r\n))"
"((*<frame\s([^>]++name=$AV(\5)|$SET(5=no-name)&[^>]++src=$AV((?*)\7)|$SET(7=about:blank)"
")$SET(2=<li><dl>\r\n<dt>frame: \5; \0="\9"</dt>\r\n<dd><a href="\7">\7</a></dd>\r\n</dl></li>\r\n)"
")|$SET(2=<li>frame: not found</li>\r\n))"
"(*<frame\s$SET(3=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n<ol>\r\n\1\2\3</ol>\r\n</body>"

574:名無しさん@お腹いっぱい。
08/02/12 23:50:13 DHZsR0rS0
Proxomitron使ってるとyourfilehostで「ERROR: Invalid stream url」って出て動画見れないんだけど
どのフィルターを外せばいいんでしょうか?

575:名無しさん@お腹いっぱい。
08/02/13 00:58:16 NHwP0aWW0
当たりつけて外して絞って自分で確認しろよ

576:名無しさん@お腹いっぱい。
08/02/13 01:20:01 HnykaPQb0
てs

577:名無しさん@お腹いっぱい。
08/02/13 11:32:12 X9CWY97V0
2chの書きこみ&クッキー確認を押してくれるフィルターがあったと思うのですが
ご存知の方、教えてください。

578:577
08/02/13 13:43:37 X9CWY97V0
2ch bbs.cgi auto submitというフィルタが見つかりました。ありがとうございました。

579:think ◆MM0nnAOCiQ
08/02/14 02:04:13 LO4KhG860
誤爆と利便性のバランスを踏まえると、全てのフレームをリンク化するのが合理的に思えてきました。

更新点
- URLマッチの & を外した
- $TYPE(js) を外した
- 全てのフレームをリンク化するようにした
- 可視化に伴う記述を若干変更

[Patterns]
Name = "invisible frames to links1 [2008/02/14] custom test1.5"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset\s,</frameset>)"
Limit = 3072
Match = "(("
"<frameset\s"
"$SET(#=<p style='color: green;'>frameset: )[^>]++((cols|rows)=$AV(([^,]+, )++([01]%+|100%)*))\#[^>]+>$SET(#=</p>)|"
"</frameset>|"
"<frame\s$SET(#=<p style='color: green;'>frame: )(([^>]++src=)\#$AVQ(("|)\#"
"([^ "']+)\0$SET(FrameSrc=\0)$SET(#=<a href='$GET(FrameSrc)'>$GET(FrameSrc)</a>)("|)\#"
")|)([^>]++)\#/+>$SET(#=</p>)|"
"(<(^/frameset>|frame(set|(^set))\s)[^>]+>)\#"
")"
"([^<]+)\#)+"
Replace = "<body>\@</body>$SET(FrameSrc=)"

入れ子のframeset要素にも対応できますが、入れ子構造を把握できない欠点が残っています。
>564で frameset、frame の内容を把握できますが、frameとframesetの親子関係を見て取れません。

580:think ◆MM0nnAOCiQ
08/02/14 02:07:42 LO4KhG860
>579は一部、更新が反映されていませんでした。

今度こそ更新点
- URLマッチの & を外した
- $TYPE(js) を外した (JSコード内のHTMLにマッチさせるのは危険なため。何か理由があったのかもしれませんが…。)

[Patterns]
Name = "invisible frames to links1 [2008/02/14] custom test1.6"
Active = TRUE
URL = "(^$KEYCHK(f))$TYPE(htm)"
Bounds = "$NEST(<frameset\s,</frameset>)"
Limit = 3072
Match = "(("
"<frameset\s"
"$SET(#=<p style='color: green;'>frameset: )[^>]++((cols|rows)=$AV(([^,]+, )++([01]%+|100%)*))\#[^>]+>$SET(#=</p>)|"
"</frameset>|"
"<frame\s$SET(#=<p style='color: green;'>frame: )(([^>]++src=)\#$AVQ(("|)\#"
"([^ "']+)\0$SET(FrameSrc=\0)$SET(#=<a href='$GET(FrameSrc)'>$GET(FrameSrc)</a>)("|)\#"
")|)([^>]++)\#/+>$SET(#=</p>)|"
"(<(^/frameset>|frame(set|(^set))\s)[^>]+>)\#"
")"
"([^<]+)\#)+"
Replace = "<body>\@</body>$SET(FrameSrc=)"

# 後、一回ぐらい更新してまとめる予定です。

581:think ◆MM0nnAOCiQ
08/02/14 02:23:23 LO4KhG860
………。

3度目の嘘つきは避けたい更新点
- 2つ以上の<frame>をリンク化したとき、全てのリンクが1つめのURLになってしまう不具合修正

[Patterns]
Name = "invisible frames to links1 [2008/02/14] custom test1.7"
Active = TRUE
URL = "(^$KEYCHK(f))$TYPE(htm)"
Bounds = "$NEST(<frameset\s,</frameset>)"
Limit = 3072
Match = "(("
"<frameset\s"
"$SET(FrameLink=$GET(FrameLink)<p style='color: green;'>frameset: )[^>]++((cols|rows)=$AV(([^,]+, )++([01]%+|100%)*))\0[^>]+>"
"$SET(FrameLink=$GET(FrameLink)\0</p>)|"
"</frameset>|"
"<frame\s$SET(FrameLink=$GET(FrameLink)<p style='color: green;'>frame: )(([^>]++src=)\1"
"$AVQ(("|)\2([^ "']+)\3("|))"
"$SET(FrameLink=$GET(FrameLink)\1\2<a href='\3'>\3</a>\2)|)([^>]++)\4/+>$SET(FrameSrc=\4</p>)|"
"(<(^/frameset>|frame(set|(^set))\s)[^>]+>)\0$SET(FrameLink=$GET(FrameLink)\0)"
")"
"([^<]+)\0$SET(FrameLink=$GET(FrameLink)\0))+"
Replace = "<body>$GET(FrameLink)</body>$SET(FrameLink=)"

582:名無しさん@お腹いっぱい。
08/02/14 03:52:40 An7yj55B0
>581
すごいですねこれ。
やろうとしてできなかったフレーム全アンカー化が実現されてます。
cols/rows属性の数値も書かれているので、
どういう風にフレームを使っているか、脳内でだいたいレンダリングできるでしょう。

$TYPE(js)を使っているのはそのまんまの意味です。
外部スクリプトで見えないフレームを挿入しているサイトがいくつかあったので
取り入れましたが、JSの知識はほぼないのでそのへんの検証はあまりできていません。
(現在のところ、このフィルタでJSを通しても誤爆したことはないと記憶しています)

583:名無しさん@お腹いっぱい。
08/02/14 04:03:54 An7yj55B0
>後、一回ぐらい更新してまとめる予定です。
という話なので、もうひとつのフィルタも載せておきます。

Name = "invisible frames to links2 (2008.02.14 beta1)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset[^>]+>,</frameset>)"
Limit = 3072
Match = "<frameset(^[^>]++cols|[^>]++rows)[^>]+>*"
"(<frame\s[^>]++src=$AV(\3)[^>]+>$SET(1=<li><a href="\3">\3</a></li>\r\n))"
"(*<frame\s$SET(2=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found; cols/rows not found</p>\r\n<ul>\r\n\1\2</ul>\r\n</body>"

Name = "invisible frames to links2 backup (2007.11.11)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset,</frameset>)"
Limit = 3072
Match = "<frameset(^[^>]++cols|[^>]++rows)[^>]+>*"
"(<frame\s[^>]++src=$AV(\1)[^>]+>$SET(2=<li><a href="\1">\1</a></li>\r\n))"
"(*<frame\s$SET(3=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found; cols/rows not found</p>\r\n"
"<ul>\r\n\2\3</ul>\r\n"
"</body>"

上のフィルタは下のフィルタを微調整したもので、検証が済んでいません。
下のフィルタは調整前のものです。こちらは一応の安定版。

584:名無しさん@お腹いっぱい。
08/02/14 04:09:34 An7yj55B0
>583が動作するソースの例。
cols/rows属性が両方ない場合も、見えないフレームが設置されます。

<frameset>
<frame name="test" src="test.html">
<noframes><body></body></noframes>
</frameset>

585:名無しさん@お腹いっぱい。
08/02/14 09:31:41 ZQAx7dco0
先日、ヤフオクの自己紹介から見られる公開プロフィールの仕様が変更になりました。
例えばこのユーザーの場合で言えば、
URLリンク(user.auctions.yahoo.co.jp)
ここの「公開プロフィール」をクリックすると、新しいプロフィール画面
URLリンク(profiles.yahoo.co.jp)
が表示されますが、
「公開プロフィール / OLD」などのようにリンクを表示してOLDをクリックすると、旧公開プロファイル
URLリンク(old.profiles.yahoo.co.jp)
へ飛ぶように出来ないでしょうか?

586:名無しさん@お腹いっぱい。
08/02/14 10:39:31 OoySYkz80
出来るよ。 誰か作ってくれるといいね。

587:名無しさん@お腹いっぱい。
08/02/14 12:51:49 ZJAX34tr0
>>585
Match = "(<a href=$AV(http://(profiles.yahoo.co.jp/[^/]+{1,*})\1)>*</a>)\0"
Replace = "\0 / <a href="URLリンク(old.\1)">OLD</a>"

URL Matchはわからないからほったらかしにしたよ。

588:名無しさん@お腹いっぱい。
08/02/14 13:32:39 H61hVME00
   , - ,----、 
  (U(    )   ページ内のフォーム(<form ~ </form>)だけ表示して
  | |∨T∨ < 残りを全て消してしまう様なフィルターをお願いします。
  (__)_)   

589:名無しさん@お腹いっぱい。
08/02/14 17:48:25 2cmVgSBH0
折角なので、素人が作ったらこうなったと言う例でもw

Name = "DeFramer 20070314"
Active = TRUE
Limit = 200
Match = "<((frameset|noframes|/frameset|/noframes)*)\1>"
Replace = "<body Add_Proxomitron><span style="color:#000;background-color:#ddd;font-size:10pt;">&lt;\1&gt;</span><br></body>\r\n"

Name = "Convert Frames to Links 20070314"
Active = TRUE
Limit = 512
Match = "<frame\s*\0src=$AV(\1)\2>"
Replace = "<body Add_Proxomitron><span style="color:#000;background-color:#ddd;font-size:10pt;">&lt;frame \0 src="<a target=_blank href="\1">\1</a>"\2&gt;</span><br></body>\r\n"

色やらtargetやらは私の好みと言う事で

590:名無しさん@お腹いっぱい。
08/02/14 17:51:51 ZQAx7dco0
>>587
どうもありがとうございます。おかげさまですごく使い勝手が良くなりました。
オクは売買ともによく使うので本当に助かりました。感謝です。

591:名無しさん@お腹いっぱい。
08/02/14 17:53:18 2cmVgSBH0
あ、ミス
Name = "Convert Frames to Links 20070314"

Match = "<frame\s\0src=$AV(\1)\2>"
が正しい‥‥はず

592:名無しさん@お腹いっぱい。
08/02/14 21:47:58 An7yj55B0
Name = "invisible frames to links2 (2008.02.14 beta2)"
Active = TRUE
URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))"
Bounds = "$NEST(<frameset[^>]+>,</frameset>)"
Limit = 3072
Match = "<frameset("
"([^>]++(cols|rows)=($AV( [*] | 100% )|["']+ ))|"
"(^[^>]++cols|[^>]++rows))[^>]+>"
"(*<frame\s[^>]++src=$AV(\3)[^>]+>$SET(1=<li><a href="\3">\3</a></li>\r\n))"
"(*<frame\s$SET(2=<li>more frames found</li>\r\n)|)*"
Replace = "<body class="invisible-frames">\r\n<p>invisible frames found; cols/rows not found</p>\r\n<ul>\r\n\1\2</ul>\r\n</body>"

>584のほかに、以下のようなframesetにも対応した。
実際に試してみると、やはり見えないフレームが設置される。
<frameset cols="">
<frameset rows="*">

593:名無しさん@お腹いっぱい。
08/02/14 23:30:06 An7yj55B0
>592は誤爆が確認されたので、なしということでお願いします。

誤爆する例。
<frameset cols="100,*" rows="">
<frame name="test" src="index.html">
</frameset>

以下のようなframesetをすべて正常に処理できないと、
フィルタリングされない場合が出てくるかもしれない。
<frameset>
<frameset cols="">
<frameset cols=>
<frameset rows="*">
<frameset rows=" 100% " cols=" 100 , * ">
<frameset cols="100,*" rows="">
<frameset rows="*" cols="*">
<frameset cols="" rows="">
<frameset cols= rows="">

594:名無しさん@お腹いっぱい。
08/02/15 13:51:06 CpgfpGbX0
0か1が6個続く [01]{6}ってのはどう書けばいいの?

595:名無しさん@お腹いっぱい。
08/02/15 14:05:38 xEG5cZSW0
>>594
URLリンク(abc.s65.xrea.com)

596:名無しさん@お腹いっぱい。
08/02/15 14:34:57 CpgfpGbX0
+がいるのか、ありがとう。

597:名無しさん@お腹いっぱい。
08/02/18 11:24:55 nRasfgzQ0
Gmailのスポンサーリンク消すフィルターってありませんか?
メールの内容とシンクロしてて気持ち悪い・・・

598:http://killthecult.blog.shinobi.j p/
08/02/18 14:56:02 pdAJ2Md40
>>597
kwsk

599:名無しさん@お腹いっぱい。
08/02/18 16:50:48 nRasfgzQ0
>>598

FAQより。

6. Gmail で広告は表示されますか。

はい。Gmail メッセージの横に、関連性のあるテキスト広告が表示されます。
これらは、Google 検索結果ページの横に表示される広告と同様のものです。
広告とコンテンツの照合は、コンピュータにより完全に自動化されたプロセスで行われます。
広告を表示する際に人間がメールをチェックすることはなく、メールの内容や個人を特定できるような情報を
Google が広告主に提供することもありません。

広告は受信または送信する Gmail メッセージの本文には挿入されず、
ポップアップ広告や関連性の低いバナー広告が表示されることもありません。

600:名無しさん@お腹いっぱい。
08/02/18 17:00:26 IfGEFfpo0
>>599
へー。俺GmailはPOPで受信してるからそんなのにお目に掛かったこと無いわ

601:名無しさん@お腹いっぱい。
08/02/18 18:17:06 7u/RoQUR0
Gmailのアカウント欲しい

602:名無しさん@お腹いっぱい。
08/02/18 18:28:27 J3WANI5I0
取ればいいじゃん。

603:名無しさん@お腹いっぱい。
08/02/18 18:28:47 4nF0dNRX0
>>601
今は昔とちがって登録制だから誰でも取れるぜ

604:名無しさん@お腹いっぱい。
08/02/18 19:17:48 7u/RoQUR0
>>602-603
そうなんだ、thx。

605:名無しさん@お腹いっぱい。
08/02/18 21:36:28 4HPi8rLX0
Flash Animation Opener (2003/12/09)
使うとYouTubeの動画が再生されないんだけど
誰か回避法教えて

無効とバイパス以外で

606:名無しさん@お腹いっぱい。
08/02/18 21:42:28 4nF0dNRX0
>>605
違うパソコンを使う

607:名無しさん@お腹いっぱい。
08/02/18 23:03:31 BA0+CR9E0
最近また仕様が変わったからな
それにあわせて修正しろとしか

608:名無しさん@お腹いっぱい。
08/02/19 19:00:41 33WBDTi/0
特定の要素以外全部削除、ってできますか?

609:名無しさん@お腹いっぱい。
08/02/19 19:26:02 Wnhlgk+30
はい

610:名無しさん@お腹いっぱい。
08/02/22 22:51:16 ifBGUt/N0
URLリンク(imepita.jp)
URLリンク(imepita.jp)
URLリンク(imepita.jp)
URLリンク(imepita.jp)
URLリンク(imepita.jp)

何故かイメぴたの画像が表示されないんだけどオミトロンで対処できますか?

611:名無しさん@お腹いっぱい。
08/02/22 22:57:09 aPyQteQJ0
>>610
Bypass.txtに

imepita.jp/image/

を入れる。

612:名無しさん@お腹いっぱい。
08/02/22 23:06:44 ifBGUt/N0
>>611
おおお、見られました感謝

613:名無しさん@お腹いっぱい。
08/02/25 08:56:21 nYg167aH0
URLリンク(www.uta-net.com)
の歌詞をコピペ可能にするフィルタをどなたかお願いできないでしょうか

614:名無しさん@お腹いっぱい。
08/02/25 10:04:14 F44TgKjq0
フラッシュだから無理

615:名無しさん@お腹いっぱい。
08/02/25 10:34:37 JUBvjyjn0
>>614
そうでもないよ

616:名無しさん@お腹いっぱい。
08/02/25 10:44:32 XBpRgSPK0
可能だけどフィルタの書き方知らん。

617:名無しさん@お腹いっぱい。
08/02/25 10:48:22 JUBvjyjn0
>>616
ということはテキストのパスはわかる?
それさえわかればあとは俺とか俺じゃない人とかがちゃちゃっと書くZE

618:名無しさん@お腹いっぱい。
08/02/25 11:13:43 XBpRgSPK0
一例なら出せるけど規則性とか分からん。
URLリンク(www.utamap.com)
URLリンク(www.utamap.com)

619:名無しさん@お腹いっぱい。
08/02/25 11:40:01 JUBvjyjn0
>>618

 U R L を よ く 見 る ん だ

620:名無しさん@お腹いっぱい。
08/02/25 11:44:15 Fs/ROxoP0
てかwikiに既にあるし

621:名無しさん@お腹いっぱい。
08/02/25 12:54:45 XBpRgSPK0
凄いオチw

622:名無しさん@お腹いっぱい。
08/02/25 15:42:58 nYg167aH0
>>613
wikiにあるのはうたまっぷとヤフーミュージックで
今回希望しているのは歌ネットです
うたまっぷのフィルタを参考に自分で書いてみたけど無理でした
可能な方がいらしたら引き続きよろしくお願いします


623:名無しさん@お腹いっぱい。
08/02/25 17:03:36 Ujfdmk2p0
もうLyricMaster使えばよくね?
とか言うのはダメ?

624:名無しさん@お腹いっぱい。
08/02/25 17:32:43 s1B2yOcA0
あれ、歌詞のテキストファイルがどこにあるのか分からんな。
ブラウザのキャッシュ漁ってみたけど無かった。 これが分かれば出来たも同然なんだが..。

625:名無しさん@お腹いっぱい。
08/02/25 17:36:37 4qGGHY1V0
flashに変数を渡して歌詞ファイルを読み込む形式なら
シロートの俺でもたぶんわかるんだけど、
これひょっとして歌詞テキストがInirial Textに設定された状態の
swfファイルをphpで生成して表示させてたりするわけ?

さっぱりわからん。

626:名無しさん@お腹いっぱい。
08/02/25 17:53:39 s1B2yOcA0
URLリンク(www.uta-net.com)

これのバイナリを覗いてみると暗号化された歌詞らしきものが。
こりゃ無理かも分からんね。 

ニコニコのラッパみたいにflashの知識があればなんとかなるかも知れないが。

627:名無しさん@お腹いっぱい。
08/02/25 18:00:18 s1B2yOcA0
あれ、ページを完全保存 を選んで保存したら復号された歌詞が出てきたw
オミトロンが無くても歌詞の保存は出来るようだ。

Content-Type: text/html;
charset="unicode"
Content-Transfer-Encoding: base64
Content-Location: URLリンク(www.uta-net.com)

jsでbase64を復号して表示するフィルタを書けばなんとかなるかも。 でもそんなことやってる暇はないので他の人よろ。

628:名無しさん@お腹いっぱい。
08/02/25 18:02:50 VWLxFlSr0
phpでtextロードしてからflashとして吐き出してるだけじゃね?
swfを直接開くとテキストが表示される

629:名無しさん@お腹いっぱい。
08/02/25 18:13:56 VWLxFlSr0
>>618
URLリンク(www.uta-net.com)
URLリンク(www.utamap.com)
uta-netとutamapはIDが違う

630:名無しさん@お腹いっぱい。
08/02/25 19:24:43 s1B2yOcA0
>>628
とすると

・歌詞ページを開くとフラッシュファイルのURLにリダイレクトするフィルタ
・フラッシュファイルのMimeをcontent-typeをtext/plainに書き換えるフィルタ

の2つを入れるだけでいいのか。 これならすぐ作れそう。

631:名無しさん@お腹いっぱい。
08/02/25 21:10:24 94mxACqU0
スレリンク(software板:630番)
上のURLに含まれる最後の630を利用して
任意の場所に<h1>630</h1>を入れたいのですが、
どうやって630を取得すれば良いですか?

632:名無しさん@お腹いっぱい。
08/02/25 21:16:51 JUBvjyjn0
>>631
何が言いたいのか全くわからん。
630を取得するってのは630のレスの内容を取得するって意味?

633:名無しさん@お腹いっぱい。
08/02/25 21:29:18 94mxACqU0
>>632
うわ、申し訳ない。もう一度。
630のレスの内容ではなくて、URLの一部(/以降の任意の数字)にマッチさせて
それをReplaceの時に参照したいってことです。

634:名無しさん@お腹いっぱい。
08/02/25 23:07:12 szX9yosO0
歌詞を探すのが目的なら
>>623に同意。餅は餅屋。

635:613
08/02/26 02:04:02 hubNRM8f0
餅は餅屋、たしかにそうですね
LyricMasterを使用することにします
尽力くださった皆様ありがとうございました

636:名無しさん@お腹いっぱい。
08/02/26 03:47:32 LV86pFHg0
>>633
URLリンク(www.pluto.dti.ne.jp)
>フィルタの作成

637:名無しさん@お腹いっぱい。
08/02/26 10:12:59 K6PKu9ZU0
>>636
具体的に、どれなんでしょうか?

638:名無しさん@お腹いっぱい。
08/02/26 10:43:05 F/m5FlWi0
>>637
人の書いたフィルタ見てわからないのがあったら調べていけ。
そのうち知識つく。
作成スレとはいえ、単純なものを聞いてばかりではうんざりだし
少しは自分で考えて書かないと応用がきかないと思う。

$JUMP系使ってるフィルタ参考にすりゃだいたい片付くよ。
wikiのJumpToとかthink氏のControl URLとかさ。

639:名無しさん@お腹いっぱい。
08/02/26 10:58:35 K6PKu9ZU0
>>638
正直回答だけ欲しくて隔離スレの方に来たんだけど、
参考フィルタ見ながらやってみるよ、ありがとう。

640:名無しさん@お腹いっぱい。
08/02/26 11:16:52 F/m5FlWi0
>>638
ごめん 自分の思ってることと内容が全然違かった
でも、参照の例にならないでもないか。
まぁがんがれ。そう難しくない。


641:名無しさん@お腹いっぱい。
08/02/26 16:21:34 JODiuaro0
ここって隔離スレだったのか。

642:名無しさん@お腹いっぱい。
08/02/26 18:27:33 srlu5prz0
何を今更…

643:624
08/02/26 20:27:01 TQaU0Xjd0
URLリンク(www.uta-net.com) 用フィルタ。 歌詞をIFrame内に表示。
本当はajax使って取り込んだほうが作詞と歌詞を同時にコピペ出来ていいんだろうけど
フィルタが馬鹿デカくなるからやめた。

[Patterns]
Name = "Uta.net: Insert IFrame (2008/02/26)"
Active = TRUE
URL = "www.uta-net.com/user/phplib/view[^/?]++.php\?"
Limit = 4096
Match = "(^(^$NEST(<object,*src=$AV(*showkasi.php*)*,</object>)))$URL(*[?&]ID=([0-9]+{1,*})\1)"
Replace = "<iframe src="URLリンク(www.uta-net.com)" width=450 height=1300></iframe><br>$STOP()"

[Patterns]
Name = "Uta.net: kasi Cleaner (2008/02/26)"
Active = TRUE
URL = "www.uta-net.com/user/phplib/swf/showkasi.php\?"
Limit = 256
Match = "FWS[%06]*[%00][%00][%00][%00][%00][%3C][%00][%00]"
"|[%0A][%00][%86][%06][%06][%01][%00][%02][%00][%00][%40][%00][%00]$SET(0=\k)"
"|\n$SET(0=<br>\n)"
Replace = "\0"

[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-type: Uta-net (in)"
URL = "www.uta-net.com/user/phplib/swf/showkasi.php\?"
Match = "application/x-shockwave-flash"
Replace = "text/html; charset=utf-8;"

644:名無しさん@お腹いっぱい。
08/02/26 21:54:43 9Kc69bUw0
>>643


645:名無しさん@お腹いっぱい。
08/02/28 00:31:05 g1IS0kVU0
隔離スレって言うが、隔離じゃないほうの活発なスレを見つけれん俺涙目。

646:名無しさん@お腹いっぱい。
08/02/28 00:45:23 sZd8i0/n0
>>645
>>2

647:名無しさん@お腹いっぱい。
08/02/28 00:46:07 8Chbialn0
>>645
こっちの方が活発。

648:名無しさん@お腹いっぱい。
08/02/28 00:46:25 1cbXGwwn0
もともとはクレクレ隔離スレでした

649:名無しさん@お腹いっぱい。
08/02/28 00:58:32 hKrsjIYG0
まぁ、実際にフィルター作って意見やり取りしてるスレが一番盛り上がるのは当然な訳で

650:名無しさん@お腹いっぱい。
08/02/28 01:32:59 g1IS0kVU0
なるほど。ありがとう。
今は活発で有益なスレはここで、出来た経緯は隔離だったというわけなのね。
んで、流れ的に今はここがメインのスレだってことか。

そうなった流れはわからないけど、最初は隔離したつもりが、少数が切り離されたのは元のスレだったという感じかな。知らないけど。
とりあえず、Proxomitron万歳ってことで。

651:名無しさん@お腹いっぱい。
08/02/28 01:35:09 s8s/zJUj0
ソフトの開発はとっくに終わってるけど、フィルタはまだまだ作れるからな
当然の結果でしょ

652:名無しさん@お腹いっぱい。
08/02/28 03:45:35 Gavp7TUj0
ここらで皆さん
少年ナイフを聞いてください
Top of the World(カバー)

URLリンク(jp.youtube.com)

653:名無しさん@お腹いっぱい。
08/02/28 10:35:13 bkbXRCbV0
そういえばオミは少年ウェアだったっけ

654:名無しさん@お腹いっぱい。
08/02/28 10:43:23 CznmCGL80
('e`)…

655:名無しさん@お腹いっぱい。
08/02/28 13:59:10 IhpFw+Li0
ところで解説サイトを見ると、WEBフィルタは順番が大事だと
かいてあるんだけど。 できるフィルタ作成者はどのあたりに
入れたらいいか書いてもらえると素人の俺たちには助かる。

656:名無しさん@お腹いっぱい。
08/02/28 14:03:02 b0T2JhM00
>>655
先頭に配置すべきフィルタはちゃんとそう書いてある。
何も書いてなかったら比較的どうでもいいし、他のフィルタに誤爆/干渉するかは
個人の環境にも依存するから誤爆したら自分で確認して調整するしかない。

結論:先頭に入れるべき物以外はどこでもいい

657:655
08/02/28 14:34:52 IhpFw+Li0
>>656
そうなんだ、ありがとう

658:名無しさん@お腹いっぱい。
08/02/28 16:55:16 LBGTbeNv0
先頭に置いたからといって、後続のフィルタより優先されるとは限らないからな。
そこの扱いが面倒だとは思う。

659:think ◆MM0nnAOCiQ
08/02/29 00:42:36 F4LFDoQT0
>>655,657
私の作成したWebページフィルタは、以下の順序にすることを意識しています。

■Webページフィルタの上からの順序

1. URLマッチに $KEYCHK() があるフィルタ
2. URLマッチにホスト名の記述があるフィルタ
3. URLマッチに $TYPE() 以外の指定がないフィルタ

■この順序にする理由

1. $KEYCHK() を付けているフィルタはある場面に遭遇したときにユーザーが自発的に動作させるフィルタ。
ユーザー任意で発動させるので、優先度は最も高い。

2. URLマッチにホスト名の記述があるフィルタは特定のサイトに機能を付加するか、サイトの機能をキャンセルする動作をするフィルタ。
ユーザーがそのフィルタを導入しているということは、そのサイトへの訪問頻度が高いと思われるため、優先度は高い。

3. URLマッチに $TYPE() 以外の指定がないフィルタは、汎用的な動作をするフィルタ。
汎用故に様々なサイトで動作することが望まれるが、特殊な用途のあるフィルタと比べれば優先度は低い。

■既知の不具合

フィルタの干渉には気を遣っていますが、「http Text to Link」と「ReplaceStr」の干渉は避けられませんでした。
これらのフィルタは、テキストにマッチさせるための仕組みが一緒なので、片方でマッチした場合はもう片方でマッチしません。
「ReplaceStr」のリストに「http Text to Link」のパターンを取り込めれば良かったのですが、そうするためには置換スタックをグローバル変数に変える必要がありました。
リストに登録された全ての表現をグローバル変数化すると、メンテが大変なのでこの手法は諦めました。

660:名無しさん@お腹いっぱい。
08/02/29 02:58:59 wwMk4jVU0
自分は$KEYCHKを多用しているせいか、
特定ドメイン内でのみ動作させるものの方を優先させている。

フレームを読み込まなくさせる(アンカー化させるなどする)フィルタだけは例外で、
これを使うと余計なフレームを読み込まなくて済む
(=フィルタリングさせるファイルを減らせる)ので、
一応これが最優先になっている。
インラインフレームを読み込まなくさせるのも同様の利点があるし、
実はブラクラ対策にもなる。
(iframeでウイルスか何かを読み込ませようとしているのを何度か見たことがある)

661:名無しさん@お腹いっぱい。
08/02/29 03:05:31 wwMk4jVU0
まだあった。
Adlistにいろいろ放り込んでおくと、これも同様の効果が期待できる。

・広告のドメイン
・よく行く情報サイト内の画像で消してもいいもの
・よく行く情報サイト内のインラインフレーム
こういうものが対象。

URLをAdlistに書くだけなので、フィルタを追加する必要はない。
URLにマッチさせるのはマッチングルールの基礎的な練習にもなるので、
+などの使い方を覚えるのにもよい。

662:名無しさん@お腹いっぱい。
08/02/29 10:50:36 tqiRAmym0
ちょっと教えてほしいけど、マイコミとかアスキーとか
URLリンク(ascii.jp)
URLリンク(journal.mycom.co.jp)
背景色が真白でフィルタ-Darken white backgroundを使用しても
変わらないページはどうすれば、真白を変えられるの?
ソースを見てもwhiteや#FFFFFFやcolorがないから無理かな?

663:名無しさん@お腹いっぱい。
08/02/29 11:04:52 tlaPa8EF0
外部スタイルシートの background-color または background

664:名無しさん@お腹いっぱい。
08/02/29 11:19:35 eoELMsU/0
確か俺がこないだスレに書いたやつは外部CSSも対応させたはずだけど、どこに書いたっけな

665:名無しさん@お腹いっぱい。
08/02/29 13:13:36 wwMk4jVU0
Firefoxだったら背景色を変えるのは簡単だけど、
IE系はフィルタを使わないとかなり面倒。

>662だと、asciiの方は誤爆を覚悟の上でなら変更できる。
body#digitallife { background-color: #eee !important; }
こんな風にすればIEでも有効。

666:662
08/02/29 14:53:33 tqiRAmym0
おーすげえ! >>664を信じてこのスレ探したら>>27
にあったよ。 アスキーが灰色になったよ、マイコミは半分
灰色になった。 664&27さんサンクス!

667:名無しさん@お腹いっぱい。
08/02/29 16:59:29 +twnZSAg0
IE系はユーザー補助を使えばいいんじゃないの?

668:名無しさん@お腹いっぱい。
08/02/29 17:40:44 eoELMsU/0
>>666
ごめん、それ俺のじゃねーやw

669:名無しさん@お腹いっぱい。
08/02/29 19:57:55 Uefz/ZRe0
Veoh TVで動画を見ていると、広告が替わるたびにカチカチ音がして気になります
Anti-Auto-Refresherを有効にしてみたんですが、効果ありませんでした
フィルターで消したいので、よろしくお願いします
URLリンク(www.veoh.com)

670:名無しさん@お腹いっぱい。
08/02/29 20:50:23 uvsU5FEi0
>>669
IE以外を使え

671:名無しさん@お腹いっぱい。
08/02/29 21:01:20 qbpErHPR0
Hotspot Shieldを使ってる時のAnchorFreeの広告を消せませんか?
ヘッロー、ヘッローうるさくて頭がおかしくなりそうです・・・

よろしくお願いします。

672:名無しさん@お腹いっぱい。
08/03/03 10:34:40 SYbYktmo0
ポップアップする広告(プロホスの)がウザいからAdList(URL Killfile.txt)に
URL書いたら中身は消えるんだけど、ポップアップは止まりません。
どうすればいいですか(><)

673:名無しさん@お腹いっぱい。
08/03/03 10:47:08 iFuZh9q90
ポップアップを呼び出してるスクリプトを
killすればいいんじゃないでしょうか。。。



674:名無しさん@お腹いっぱい。
08/03/03 10:58:11 SYbYktmo0
(><)。。。

675:名無しさん@お腹いっぱい。
08/03/03 15:48:17 iFuZh9q90
>>674
すまんがprohostingのポップアップが
どこででるかわからない。
prohostingのHPスペースで
出るわけでもなさそうだし。
たとえばどのページででるの?

676:名無しさん@お腹いっぱい。
08/03/03 23:01:31 1F3/Q0LW0
どっかのサイトにprohosting社が出してる広告、というオチ

677:名無しさん@お腹いっぱい。
08/03/03 23:05:14 1F3/Q0LW0
ああ、後半を読むに、>>675は前半でそう言ってるのか・・・スマソ

678:名無しさん@お腹いっぱい。
08/03/03 23:30:46 4niy7L730
URLリンク(www.google.co.jp)

679:名無しさん@お腹いっぱい。
08/03/04 17:04:14 L0geNNVY0
Google ReaderのNGワード作れないかなあ。
"AD:"とか入ってたらそのフィード消すみたいな。

680:名無しさん@お腹いっぱい。
08/03/06 16:15:30 rf128T1S0
Yahoo! JAPAN トップ並びにメール等の広告に対し効果的な
フィルタを教えて頂きたいのですが、過去に何度か自分なりに
作ってみたのですが、フィルターの記載方法が悪いのか
直ぐに広告が表示されてしまいます。こちらでも書きづらいと
の事ですが、どうぞ宜しく御願いします。

681:名無しさん@お腹いっぱい。
08/03/06 16:19:31 DyEcfgpt0
>>643みたいにmusic.j-total.netもできます?
弾き語りにいいんだよね

682:名無しさん@お腹いっぱい。
08/03/06 16:21:42 DYUZDXWK0
いいえ、遠慮させていただきます

683:名無しさん@お腹いっぱい。
08/03/06 18:52:14 wX/KC11s0
Yahoo! JAPAN トップのフラッシュっぽい広告は

Protect Contents except HTML (2002/11/18)
があれば、表示されなくなるな。

684:名無しさん@お腹いっぱい。
08/03/07 01:49:11 4qbGWSHn0
>>682
了解しました。

685:名無しさん@お腹いっぱい。
08/03/07 02:52:11 0c2NJjCp0
yahooのトップページを見なくてもニュースなどの情報は入るだろうし、
メールはgmailでも使えばいいだろうし。
わざわざフィルタを書く必要はないんじゃないか?
長年使い慣れたメールアドレスなどがあればともかく。

686:名無しさん@お腹いっぱい。
08/03/07 08:56:17 adnas8MA0
なるべく軽くなるように、ファイルターを再構成と作成しようかと思っている

687:名無しさん@お腹いっぱい。
08/03/07 10:44:14 adnas8MA0
スクリプトや表示されない部分を消し去ってブラウザに優しいのを作りたいのだが・・・
誰でも使えるセットにするには大変そうなので断念した・・・

688:名無しさん@お腹いっぱい。
08/03/07 10:45:46 adnas8MA0
自作はあきらめて動作が遅いか速いか既存のやつを調べてまとめることにする

689:名無しさん@お腹いっぱい。
08/03/07 11:16:09 8yQ1Bu8Z0
日記はチラシの裏に書いてくれ

690:名無しさん@お腹いっぱい。
08/03/07 21:52:40 wx22K23R0
>>688
たった2時間であきらめるなって

691:名無しさん@お腹いっぱい。
08/03/08 01:15:27 /9G/t32R0
俺も今はthink氏のとかwebとかここで公開されて便利そうなのつっ込んでるけど
正規表現の勉強もかねて一から必要なもの自分で作っていこうと思う

692:think ◆MM0nnAOCiQ
08/03/08 01:45:01 CJ4g5fmj0
自作はいいですね。
最初は簡単なものから取りかかると長続きするかなと思います。
私が初めに作ったフィルタは外部スタイルシートのblink指定を解除するフィルタだったかな。

[Patterns]
Name = "Hajimeteno Kill blink css"
Active = TRUE
URL = "$TYPE(css)"
Limit = 64
Match = "text-decoration : blink"

CSSプロパティをいじるフィルタは必要な構文が簡単で作りやすいと思います。

# 私のように未熟な腕で「Google: High Light」に挑戦するとたくさんの煽りをもらうことになるので、複雑なフィルタは後回しがいいです……。

693:名無しさん@お腹いっぱい。
08/03/08 01:51:35 cFu89Tor0
罵倒・煽りはスレの華

694:think ◆MM0nnAOCiQ
08/03/08 02:09:54 CJ4g5fmj0
>>687
> スクリプトや表示されない部分を消し去ってブラウザに優しいのを作りたいのだが・・・
ホワイトリストにないURLのscriptを無効化するフィルタなら、以前書いたような記憶がおぼろげにありますが、どこにいったかなー。

現在、Firefox拡張のNoScriptが重いので外していて、代替手段を探しているので興味ある分野ではあります。
具体的にどんな動作のフィルタが欲しいのでしょうか?
私が想定しているフィルタは、NoScriptの動作(ホワイトリストにないJavaScriptを無効化し、無効化したらウインドウ最下部に警告メッセージを表示する)ですが、実際に実現できるかどうかはわかりません。

# (別件)
# 下記は今週中にやります。

■ToDo
- >555の調査
- >581の更新

695:名無しさん@お腹いっぱい。
08/03/08 02:19:14 eaPuLPew0
自作フィルタは、最初のうちは誤爆上等で単純に作って行くのが良いかと
そのうちスレやサイトで公開されてるフィルタが良いお手本になって来て
色々出来る事も広がって行くから

まぁ、私なんかは今でも誤爆上等で深く考えずにサクサクフィルタ作って使ってるけどw

696:名無しさん@お腹いっぱい。
08/03/08 02:28:13 DyIfuqwE0
youtubeのソート機能消えたけど
フィルタで復活させたのはないのか

697:名無しさん@お腹いっぱい。
08/03/08 03:23:45 IoCNhHCh0
NoScriptは使ったことないな。
objectやiframeはフィルタでアンカー化しているし、
あやしいJavaScriptもフィルタでコメント化させている。
どのフィルタも長年使っているよ。

>無効化したらウインドウ最下部に警告メッセージを表示する
これもフラグをセットすればできないこともないかと。
あるいはCSSのposition:absolute;で下に配置させるとか。

698:名無しさん@お腹いっぱい。
08/03/08 05:13:28 M7DxHjjz0
誤爆上等で未だにアスタリスクばっかり使ってます

699:686
08/03/08 05:44:19 9OZ+Stfe0
あぷろだの本体にウェブを探し回って良さそうなフィルタ付けました
パスワードがわからないのでセットを他所にあげました
バグ取り、最適化はしましたが十分ではないと思います
感想おねがいします

URLリンク(fx10.web.fc2.com)

700:名無しさん@お腹いっぱい。
08/03/08 05:53:25 f8l0njRO0
アップパスはNaokoです。

701:686
08/03/08 06:20:16 9OZ+Stfe0
>>700
サンクス 前のは消してあぷろだに移しました 
URLリンク(proxo.hp.infoseek.co.jp)

702:名無しさん@お腹いっぱい。
08/03/08 06:53:05 9OZ+Stfe0
バージョンアップしました 感想ください
URLリンク(proxo.hp.infoseek.co.jp)

703:名無しさん@お腹いっぱい。
08/03/08 06:59:40 9OZ+Stfe0
コツはURLだけで切ってしまうヘッダフィルタを中心にすると軽くなりそうですね

704:名無しさん@お腹いっぱい。
08/03/08 08:45:40 9OZ+Stfe0
バージョンアップ8回ほどしてしまいました・・
現在 pr0154.zip です 表示に問題があったら直します 教えてください

705:名無しさん@お腹いっぱい。
08/03/08 09:01:51 f8l0njRO0
Refererをリストで一括管理するフィルタが無いですね。
あとはGoogleの検索結果を便利にするフィルタなどがあると喜ばれると思います。

706:名無しさん@お腹いっぱい。
08/03/08 09:16:47 9OZ+Stfe0
それらはどこら辺にありますか? 

707:名無しさん@お腹いっぱい。
08/03/08 09:49:31 f8l0njRO0
>>1のリンク先をまわれば主要なものはだいたい揃います。

あとニコニコ動画用のフィルタは↓を見ればいろいろありますが更新速度が尋常じゃないので
まとめには入れないほうがいいです。 サイト側の仕様変更によってすぐ使えなくなりますし。

ニコニコ動画RC2専用オミトロンソフト板 Part11
スレリンク(software板)

708:名無しさん@お腹いっぱい。
08/03/08 12:54:55 p/cvrvdu0
ID:9OZ+Stfe0
どうせ作るならこのスレで公開されたものだけにしとけよ

709:名無しさん@お腹いっぱい。
08/03/08 13:04:39 gtkLSZJN0
Firefoxのアドオン自動更新みたいに、
それぞれのフィルタも自動更新出来たら便利なんだが
そんなツール作ってくれる人居ないよなぁ…

710:名無しさん@お腹いっぱい。
08/03/08 13:17:55 3sK0/3hD0
判定が難しい。
・フィルタ名で判断…自分でタイトル弄れなくなる
・全文解析…無茶
みんなで共同開発できなくなる。(固定の作者と固定の公開場所が必要になってくる)
→成長が止まる

711:名無しさん@お腹いっぱい。
08/03/08 14:34:13 3sK0/3hD0
YouTubeのDLフィルタ、&fmt=18でのmp4対応改造をしていて気付いたんですが、
flvと違ってContent-Dispositionでfilename=video.mp4が指定されてました。
当然title.extの意味が失われるので、無効化する新しいヘッダフィルタが必須です。
URL無視したやっつけですが

[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Disposition: neutralize video.mp4 (In)"
Match = "attachment; filename=video.mp4"

こんな感じで。URLはたまに変わったりするんで、どうなんですかね…。

で、DLフィルタ本体なんですが、少々事情があって私のは公開できません。
どなたかやれる方いらっしゃったらお願いしますー。

712:名無しさん@お腹いっぱい。
08/03/08 17:12:32 gtkLSZJN0
判断が難しいのは同意だが、成長が止まるってのはどうだろう
>固定の作者と固定の公開場所が必要になってくる
固定の作者である必要はどこにも無いし、
固定の公開場所が居るのはFirefoxでも同じで、自動アップデートできるようにするなら当然な訳だが

713:名無しさん@お腹いっぱい。
08/03/08 17:32:57 7RVVF1cV0
autopagerizeのsiteinfoみたいにWiki式にするとか

714:名無しさん@お腹いっぱい。
08/03/08 17:38:22 3sK0/3hD0
>>712
固定の公開場所が必要なら、当然固定の作者が必要になるでしょう。
勝手に変な物に書き換えられて自動アップデートで強制配布されちゃ困る。

715:名無しさん@お腹いっぱい。
08/03/08 18:49:50 gtkLSZJN0
wikipediaのように誰が更新したのか署名が残るようになっていればいい
アップデートするかどうかはユーザー次第
リストに一致する人の更新であれば自動更新~とか

716:名無しさん@お腹いっぱい。
08/03/08 18:57:03 b0roCwfd0
間を取って、更新情報だけ集積したRSSを配信すればいいんじゃない?

717:think ◆MM0nnAOCiQ
08/03/08 19:44:20 CJ4g5fmj0
>>710
> 固定の作者と固定の公開場所が必要になってくる
自動更新はともかく、固定の公開場所は実現すべく現在試行錯誤中です。
私自身が今の公開形態(複数フィルタをzipで固めて配布)を面倒に感じており、簡単に更新できるシステムが必要だと常々考えていました。
(ブログも想像したほど記事投稿が簡単ではありませんでした)
フォーラムを用意して、1スレッドにつき一つのフィルタというローカルルールを作れば一元管理できて便利ではないかと考えています。

■現在、頭の中で考えている掲示板仕様 (★ … 必須 / ※ … 検討中)
 ★親記事、子記事にタグを付けられる
 ★記事検索で「inname:名前」のような特殊構文が使える
 ★一部のはてな記法が使える(少なくとも、順不同リスト、序列リスト、定義リスト、表ぐらいはほしい)
 ★記事全体を作者が任意でバックアップ(XMLまたはテキストで出力)できる
 ★携帯で投稿できる(移動中に携帯からアイデア投稿したい)
 ※記録フォーマットはXMLかDB(XMLにするとエクスポートが楽。APIも使える。DB管理するとしても内部動作でXMLに変換するのも面白そう)
 ※半会員制(完全に会員制にすると投稿者が少なくなる。会員は署名を使える、名前の同一性が保証される、などのメリットを得られる。)
 ※スラッシュドットのスコア機能を付ける(評価されるとより注目される記事を書きたくなるわけで議論に期待できそう。どうせなら、タグにしきい値を付けた方が統一性があっていいかも)
 ※BBCodeが使える(はてな記法を使うことを考えると統一性がない)
 ※記事一つ一つにファイルアップロード可能(ファイル添付する形にするか、base64エンコードするか。前者はバックアップ時に有用。)

■課題点
- PHPによるXML実装でどの手法を使うか(DOM, SimpleXML, XMLReader, SOAP)
- はてな記法をどうやって実装するか
 # 文字列置換だけならわりと簡単なんですが、Proxomitronの「文字列を消費する」概念(一度マッチした部分には二度とマッチしない)を取り入れようとしたら一気に難易度が跳ね上がりました。
 # 表は「Excel→table」のJavaScriptからアルゴリズムを流用すれば実装できそうです。

今ははてな記法をXHTML変換するJavaScriptを書いているところです。(上手くいけばPHPに移植予定)

718:名無しさん@お腹いっぱい。
08/03/08 20:06:32 gtkLSZJN0
>自動更新はともかく、固定の公開場所は実現すべく
いやいや、自動更新が必要ないならWikiで十分だと思うけど

719:名無しさん@お腹いっぱい。
08/03/08 20:37:26 Xk9Ulf4G0
:9OZ+Stfe0だけどまとめじゃなくて、なるべくブラウザに負荷をかけずに
快適動作をさせるかが作成のポイントなんです 利便性は失われないようにして

720:名無しさん@お腹いっぱい。
08/03/08 20:54:37 zIkrEzhb0
>>719
君は下のスレに行った方が良いだろう

■■■■Proxomitron入門スレッド■■■■6
スレリンク(pcqa板)

721:名無しさん@お腹いっぱい。
08/03/08 21:31:02 Xk9Ulf4G0
リストの質問です

hoge.com ではヒットしないのに

[^/]++hoge.com だとヒットします
どういう理由なんですか?

722:名無しさん@お腹いっぱい。
08/03/08 21:38:21 Xk9Ulf4G0
あと
hoge.com
[^/]++hoge.com と
([^/]++.|)hoge.com と
[^/]++hoge.com/ と
[^/]++hoge.com*
はマッチパターン変わりますか?

723:名無しさん@お腹いっぱい。
08/03/08 21:42:04 Xk9Ulf4G0
こんなの見つけましたよ しかし、hoge.comがヒットしない理由がわからない

URLスタイル のハッシュ化が適用される条件は以下の通りです。
行頭がワイルドカード で始まる
ホスト名の最後を示す文字(/, :) が存在する
行頭のワイルドカードから「ホスト名の最後を示す文字」までの間に、ワイルドカードが存在しない
URLリンク(vird2002.s8.xrea.com)

724:名無しさん@お腹いっぱい。
08/03/08 21:46:13 gtkLSZJN0
>>721
どっちでもマッチするけど? その現象が発生するフィルタとリスト晒してよ

725:名無しさん@お腹いっぱい。
08/03/08 22:44:47 tUFyZgmv0
URLマッチの話か?

対象が URLリンク(www.hoge.com) とかなら
[^/]++hoge.com だとマッチするけど hoge.com じゃマッチしないだろうよ。

726:名無しさん@お腹いっぱい。
08/03/08 22:50:16 tUFyZgmv0
念のため言っとくがURLマッチは部分一致じゃなく前方一致だならな。

727:名無しさん@お腹いっぱい。
08/03/08 23:36:56 +qXF65o20
(jp.|www.|)youtube.com/
を最適化する場合
(jp.|www.|(^[jw]))youtube.com/

(jp.|www.|(^(^y)))youtube.com/
のどちらが処理が速い、あるいは書き方として妥当だろうか
要は否定先読みと肯定先読みのどっちが速い?って質問なんだけど

728:名無しさん@お腹いっぱい。
08/03/08 23:55:06 3sK0/3hD0
速度の話は荒れるからやめろとテンプレに…あったっけ?ないね。
所詮無視できる誤差の範囲内、有意な差はないから好きなの選んでください。

729:名無しさん@お腹いっぱい。
08/03/09 04:29:15 60oDJR9b0
>>727
実際にテストフィルタ書いて実測してみるのが一番かと
実測してもどちらが早いのか解らないなら、それはどちらを使っても同じと言う事だ

730:名無しさん@お腹いっぱい。
08/03/09 11:02:04 97Oq/7fL0
flashの画質を低で固定するフィルターって前出てた気がするんだけど教えてください。

731:名無しさん@お腹いっぱい。
08/03/09 12:10:24 QKLcgHfk0
大体は肯定のほうが速いような気がする

732:名無しさん@お腹いっぱい。
08/03/09 13:38:01 Fh8QY9J20
最適化とやらがなされていないことによってこの先ロスするであろう合計時間の
数億倍数兆倍の時間を割いて検証し最適化フィルタを書くことに
無駄を感じないようであれば、検証する価値はあると思うよ。

733:名無しさん@お腹いっぱい。
08/03/09 15:22:42 H7KCeNOF0
ローカルに落としてあるファイルに対して、処理時間を計測するプログラムを作るよ
たとえば
proxchk C:\html (ディレクトリ名)
と打てば処理時間を計測する

734:名無しさん@お腹いっぱい。
08/03/09 16:52:23 mjAM5YBG0
>>692
># 私のように未熟な腕で「Google: High Light」に挑戦するとたくさんの煽りをもらうことになるので、複雑なフィルタは後回しがいいです……。

Google: High Lightを作ってるときの話は知らないけど
腕が未熟かどうかとは関係ない理由*でも*批判されてたことにはご自分では気づいておりませんでしたか?

735:733
08/03/09 18:26:35 H7KCeNOF0
出来ました
URLリンク(fx10.web.fc2.com)



proxchk c:\html > log.txt
proxchk c:\html

736:名無しさん@お腹いっぱい。
08/03/09 18:35:20 aRFVqAhQ0
>>727
(jp.|www.|)youtube.com/ インデクス化(ハッシュ)可能。意味が分かりやすい。
(jp.|www.|(^[jw]))youtube.com/ インデクス化(ハッシュ)不可能。意味が分かりにくい。
(jp.|www.|(^(^y)))youtube.com/ インデクス化(ハッシュ)不可能。意味が分かりにくい。

結局、シンプルにするのが処理が速くて、書き方も妥当。

リストにおいては状況により (jp.|www.|)youtube.com/ の最適化の結果が
youtube.com/
jp.youtube.com/
www.youtube.com/
になることはありうる(見た目もそれほど分かりにくくなってない、むしろ分かりやすく感じる人もいるかも)。

737:名無しさん@お腹いっぱい。
08/03/09 18:49:30 H7KCeNOF0
スペースが無いか、あるかは(\s|)でいいですか?

738:名無しさん@お腹いっぱい。
08/03/09 20:01:40 rTtpFBoD0
そういえばJリーグ始まったな

739:名無しさん@お腹いっぱい。
08/03/09 20:07:44 gcqYpFBd0
>>735
おつ。

740:名無しさん@お腹いっぱい。
08/03/09 20:58:21 Fh8QY9J20
>>737
" "(半角スペース)でいい。

741:名無しさん@お腹いっぱい。
08/03/09 21:30:58 H7KCeNOF0
サンクス ほかの質問もきいてもらえますか?
上にはヒットしないのに下にヒットします なぜでしょうか?

pagead[0-9].googlesyndication.com
pagead2.googlesyndication.com

742:名無しさん@お腹いっぱい。
08/03/09 21:52:32 Fh8QY9J20
君は>>721なんだろうけど、
検索表現は何で検索対象文字列が何の場合にマッチした(しなかった)
というのを明確にした方がいい。

743:名無しさん@お腹いっぱい。
08/03/10 01:24:33 8B4S+KnE0
フィルター、リストの順序で速度変わるね

744:名無しさん@お腹いっぱい。
08/03/10 02:26:26 UOgajIAh0
どういう意味?
ブロックリストの各行を入れ替えるってこと?

体感出来るほどの差異が出るかどうかは甚だ疑問だが、
ブロックリストはリスト上位から順にテストしていって、
マッチしたところで抜けるんだから、
出現頻度が高いと思われる語句(に対する検索表現)を
リスト上位に置いた方が理屈の上では速くなるだろうね。

注意事項として、リストの行は順位を不用意に入れ替えると
マッチしていたものがマッチしなくなったりすることがある。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch