エクセルなどの外部ソフトからURLを100ほど一括して開いています。開いたページに特定の文字があれば開かないようにしてチェックする分量を減らしたいのですが可能でしょうか。タブでの分別はできません。利用ブラウザはスレイプニルですが、そういうことのできるソフトや他ブラウザなどもあれば教えてください。


回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2009/10/02 10:23:24
  • 終了:2009/10/05 23:03:15

回答(4件)

id:i4ooon No.1

regnif回答回数56ベストアンサー獲得回数202009/10/02 11:18:07

ポイント17pt

特定の文字パターンが不明ですが、もしURL一覧をJavaScriptに貼り付けるのが億劫でないなら、サンプル設置しましたので、見てみてください。タブで作業しやすいように_blankで開きます。もし、エクセルで完結したいようなら、少し時間かかりますが再回答しますがどうでしょ?

http://regnif.web.fc2.com/test/javascript/hatena1254446603.html

シンプルに必要なロジックだけなら、↓です。

urlsという配列にURLをダブルクォートでくくって、1件ごとにカンマ区切りで。

無視したい文字はrejectという変数で。

このサンプルの場合、文字"ne"を含むwww.hatena.ne.jpは書き出されません。

<script type="text/javascript">
var urls = new Array(
	"http://www.yahoo.co.jp/",
	"http://www.hatena.ne.jp/",
	"http://www.google.co.jp/"
);
var reject = "ne";

for( var i = 0; i < urls.length; i++ ) {
	if ( urls[ i ].indexOf( reject ) == -1 ) {
		document.write( '<a href="' + urls[ i ] + '" target="_blank">' + urls[ i ] + '</a><br />' );
	}
}
</script>
id:milksodacafe

ありがとうございます。

特定の文字は、たとえば「いちごが好きです」というような一文もしくは単語を想定しています。

スプリクトの扱い方は素人なので、エクセルで完結できる方法があれば再度お願いしたいです。

VBAなら少し扱えます。

2009/10/02 12:25:57
id:sm0k3 No.2

03回答回数591ベストアンサー獲得回数392009/10/02 11:46:08

ポイント27pt

ブラウザの機能ではなく、Excelにあるリンクを書き換えて、

Googleの検索機能で判別させる方法はどうでしょうか?

リンク先をバッチ処理で以下のように変える必要がありますが・・・。

【元々のリンク】

リンク先アドレス

【Googleの検索機能を使うリンク】

http://www.google.co.jp/search?q=リンク先アドレス -特定の文字

実際の例だと以下のような感じです。

【元々のリンク】

https://addons.mozilla.jp/firefox/plugins/

【Googleの検索機能を使うリンク】

http://www.google.co.jp/search?q=site:https://addons.mozilla.jp/... -再生


これで検索結果に何も出てこない場合は、特定の文字がそのページに含まれていることになります。

この方法の欠点としては

・リンク先をバッチ処理で変更できることが前提。

(Excelの場合、VBAができれば簡単です。セルにアドレスが入っている場合もVBA無しの文字列操作でアドレスが作れると思います。)

・特定の文字が画像で書かれている場合認識できない

・Googleがキャッシュを持っている必要がある。(Googleが巡回していないサイトだと使えません。)

id:milksodacafe

1の人のエクセルを使う方法と近いのでしょうか。リンクは後で読みますが、ざっと見た感じ

最後のキャッシュを持っていない可能性があります^^;けど分からないので試してみたいと思います!

興味深い方法でした。ありがとうございます!

2009/10/02 12:29:58
id:Reiaru No.3

Reiaru回答回数152ベストアンサー獲得回数382009/10/02 12:04:25

ポイント36pt

Proxomitron を用いれば Internet Explorer でも Sleipnir でも可能です。

(要は Proxy として、127.0.0.1:localhost や 127.0.0.1:8080 を指定できるブラウザなら何でも可)


使い方については以下を参照して下さい。


Proxomitron導入ガイド

http://site.halfmoon.jp/movielist/29.html


記述するフィルタは以下の様にして下さい。

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

フィルタ名:

(何でも良いです)


・範囲

URL のマッチ:

範囲のマッチ:


・検索と置換

マッチさせる語句:

Web サイトに含まれる文字列を記述。正規表現使用可。複数指定可。

基本的には "開いたページに特定の文字があれば" という文字列をそのまま表記して下さい。


置換するテキスト:

<script type="text/javascript">if (history.length) history.back();else (window.open('','_top').opener=top).close();</script>

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

直接関係ありませんが、Proxomitron のレビュー記事です。

http://ringonoki.net/tool/web/pro.php

id:milksodacafe

ありがとうございます!Proxyも素人なのでどの程度利用できるか分かりませんが、

後で導入ガイドを見てみます。

2009/10/02 12:32:46
id:i4ooon No.4

regnif回答回数56ベストアンサー獲得回数202009/10/02 15:04:07

ポイント10pt

エクセル版です。

http://sharedfile.jp/r/OM5xWps9ZQXuhWhV/

★ダウンロード回数制限があるようなので、回答オープン後、すぐにダウンロードだけしておいてください。

ダウンロード回数制限を越えてしまったときのために

白紙のエクセルから作る方法も簡単に。

まず画面キャプチャを見ておいてください。

http://regnif.web.fc2.com/test/javascript/hatena1254446603.jpg

除外したい文字を「B3」セルとして、URL一覧は「B6」から下にあるとします。

「C6」セルに「=IF(ISERROR(FIND($B$3,B6)),HYPERLINK(B6,B6),"")」という

式を入力して、あとは「C6」を「C7」から下にコピペ。

この例の場合だと、「ne」を含まないURLだけ、ハイパーリンク状態で表示されるようになります。

こういう感じで良いんですよね?

id:milksodacafe

ごめんなさい、違うんです。URLに含まれる特定の文字ではなく、URLを開いた先のページに

特定の文字があった場合に自動的にそのページを閉じることはできないかという質問でした。

また、ダウンロードしたファイルが自分のPCで見つからず、見ることができませんでした。

あげていただきたURLの選別方法は別の機会の参考にしたいと思います。

ありがとうございました。

2009/10/04 11:30:29
  • id:Reiaru
    もしも Proxomitron の使用法等で不明な点などありましたら、こちらのコメント欄にお書き下さい。
    可能な限りは対応させて頂きます。
  • id:i4ooon
    完璧に誤解していました。
    コンテンツフィルタみたいなもんですか。

    FireFoxのアドオンで「ProCon Latte」https://addons.mozilla.org/ja/firefox/addon/1803
    というのがあるので、それを入れることで、希望にかなり近い動作になりますよ。
    かなり近いというのは、指定単語(もちろん複数可能)が含まれるページはブランクで
    タブは開いてしまうことです。

    設定は
    メインフィルタ
    禁句フィルタを有効にする
    リストを編集ボタン
    ブロックする単語・・・デフォルト単語は削除し、フィルタしたい単語を入力
    フィルタ動作・・・指定単語をブロックを選択←この設定が大事

  • id:milksodacafe
    Reiaruさん
     コメントありがとうございます。結果的にProxomitron でチャレンジしているのですが、マッチさせる語句への記入がよく理解できていません。「基本的には "開いたページに特定の文字があれば" という文字列をそのまま表記して下さい。」というところをもう少し教えていただけると嬉しいいです。また置換するテキストの部分はそのままコピペでOKなのですよね?
  • id:milksodacafe
    i4ooon さん
     何度も何度もありがとうございます。FireFoxのアドオンでそのようなものがあるんですね!知りませんでした!ブランクページを自動的に閉じる方法があれば、こちらを使うのが簡単なように思いました。見てみたいと思います。
  • id:Reiaru
    少々遅れました。別に質問を立てられたのですね。

    マッチについては難しいものではありません。
    ただ、ここで少々気になる事がありまして…
    もしかすると milksodacafe 様は「日本語 (2バイトコード)でそれを行いたいのではないか」という点です。
    できればそれについても同時に回答したいと考えております。

    マッチについては 確か単純に AAA|BBB でいけるのだったと記憶しています。
    半角文字ならばこれでいける筈なのですが、元が海外製の Proxomitron では、
    はてな|人力検索 などは普通に行なう限りでは無理なのです。この辺りを補足しなかったのは私の落ち度です。申し訳ありません。

    もしも回答するならば、この辺りを実際に検証してみてから回答を書きたいと思います。
    しかしながら、そちらの質問で既に i4ooon 様が回答されている様ですので恐らくは大丈夫だと思います。

    それにしても色々な手法があるものですね、私としても皆様の回答が参考になりました。ありがとうございます。
  • id:i4ooon
    すみません。
    2バイトコードも問題ないかと思って回答してしまっています。←自分では試してません。
    ので、別質問のほうはキャンセルか、開かないでおいてもらって良いですよ。
    ただ、あっちにも書いたけど、FireFoxのアドオンではダメすかねー?
  • id:milksodacafe
    別質問の回答でほぼ解決に至りました。
    あちらにもコメントしましたが、FireFoxよりもProxymitronでの方法が作業時間短縮になり
    結果として便利でした。

    あとはページが閉じられるときに出てしまうポップアップが出ないようになれば最高ですね。
    その方法は、また探してみたいと思います。

    でもでも、Proxymitronは良い動きしてます!素晴らしいです!
    ありがとうございました!!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません