あるページのアンカーテキストとURLの一覧を書き出したいです。

その様な事ができるアプリ、ブラウザのアドオン。プログラム。などを教えてください。

例:
http://www.youtube.com/playlist?list=UUjaWxz81Jq_8NcGW0Tt_CNA&feature=plcp
のページの場合
=======================
「ミス・サイゴン」三井太一コメント,http://www.youtube.com/watch?v=-5op3O3BiQ8&list=UUjaWxz81Jq_8NcGW0Tt_CNA&index=1&feature=plpp_video
「ミス・サイゴン」木内健人コメント,http://www.youtube.com/watch?v=VsW8EnYa7y0&list=UUjaWxz81Jq_8NcGW0Tt_CNA&index=2&feature=plpp_video
・・・
=======================
の様にアンカーテキスト,URLという形で書き出したいです。
※「,」じゃなくても構いません。
ページ内の一部のみというのは難しいと思いますので、htmlソース上の最初から最後まで全部書き出す形で問題ありません。
よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/07/24 15:45:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:maya70828 No.3

回答回数1364ベストアンサー獲得回数139

ポイント66pt

すべてのタブに開いているページのタイトルとURLを一括コピーするfirefoxのアドオン「Copy Urls Eexpert」というのはどうでしょう?
http://mff2.blog109.fc2.com/blog-entry-806.html
http://tech.lampetty.net/tech/index.php/archives/449

id:kidaikobayashi

ありがとうございます。なかなか時間が取れずに、試せてません。すみません。またご返信いたします。

2012/07/19 21:25:02
id:kidaikobayashi

ようやく時間が取れて確認いたしました。
3名の方からお答えいただきましたが、このアドオン型が最も簡易でした。
ありがとうございました。

誠に申し訳ございませんが、皆様すべて要望は叶えていただきましたので、ポイントは平等に配分して、本ご回答はベストアンサーとさせていただきます。

2012/07/30 18:01:55

その他の回答2件)

id:Mook No.1

回答回数1314ベストアンサー獲得回数393

ポイント67pt

期待する部分以外のテキストもあると思いますが、
ページの構成上それもアンカーテキストとして書かれています。

たたき台レベルですが、拡張子を vbs で保存して実行してみてください。

    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Navigate "http://www.youtube.com/playlist?list=UUjaWxz81Jq_8NcGW0Tt_CNA&feature=plcp"
'   objIE.Visible = True
    waitIE objIE
    
    Set ancs = objIE.Document.getElementsByTagName("a")

    For n = 0 To ancs.Length - 1
        res = res & ancs(n).InnerText & "," & ancs(n).Href & vbNewLine
    Next
    objIE.Quit

    CreateObject("Scripting.FileSystemObject").CreateTextFile("anchorList.txt", True, True).Write res
    Set objIE = Nothing

Sub waitIE(objIE)
    Do While objIE.Busy = True Or objIE.readystate <> 4
        WScript.Sleep 100
    Loop
    WScript.Sleep 1000
End Sub
id:kidaikobayashi

ありがとうございます。ちょっとまだ試せてませんので、またご返信いたします。

2012/07/18 00:03:19
id:kidaikobayashi

ようやく時間が取れて確認いたしました。
こちらで求めていた事ができました。
ありがとうございます。

2012/07/30 17:59:47
id:Cherenkov No.2

回答回数1504ベストアンサー獲得回数493

ポイント67pt

ブックマークレットで。

質問文をそのまま受け取り、ページ内の全てのリンクを「アンカーテキスト,URL」のフォーマットで取り出すようにすると以下のようになります。
実行すると右下にテキストエリアの形で結果を表示します。

javascript:(function(){
var links = document.links;
var result = [];
for (var i=0, l=links.length; i<l; i++) {
    var e = links[i];
    result.push(e.textContent+','+e.href);
}
var textarea = document.createElement('textarea');
textarea.value = result.join('\n');
textarea.style.position = 'fixed';
textarea.style.bottom = 0;
textarea.style.right = 0;
textarea.onclick = function(){ this.select()};
document.body.appendChild(textarea);
void(0);
})();


例に出されたyoutubeのページでそのまま適用すると望んだ結果と少し違うと思います。
目的は「動画タイトル、URL」だと思うので以下のようにします。
(youtubeのHTMLを見ればわかりますが素直なサイト構造になっていません。アンカーテキストがspanで囲まれています。)

javascript:(function(){
var titles = document.querySelectorAll('.video-title')
var result = [];
for (var i=0, l=titles.length; i<l; i++) {
    var e = titles[i];
    var href = e.parentNode.parentNode.parentNode.parentNode.href;
    result.push(e.textContent+','+href);
}
var textarea = document.createElement('textarea');
textarea.value = result.join('\n');
textarea.style.position = 'fixed';
textarea.style.bottom = 0;
textarea.style.right = 0;
textarea.onclick = function(){ this.select()};
document.body.appendChild(textarea);
void(0);
})();

今回は簡易的にブックマークレットで回答しましたが、継続的にある目的でファイルに書き出したい、コピペしやすい形で出力したい、など仕様を表明すれば誰かが(作ってくれる|探してくる)かもしれません。
なるべく全てのサイトで(何の目的で)収集したいのか、一定のサイトだけで必要なのか。

id:kidaikobayashi

ありがとうございます。ちょっとまだ試せてませんので、またご返信いたします。

2012/07/18 00:03:23
id:kidaikobayashi

ようやく時間が取れて確認いたしました。
こちらも求めていたものになるりました。ありがとうございます。

2012/07/30 18:00:29
id:maya70828 No.3

回答回数1364ベストアンサー獲得回数139ここでベストアンサー

ポイント66pt

すべてのタブに開いているページのタイトルとURLを一括コピーするfirefoxのアドオン「Copy Urls Eexpert」というのはどうでしょう?
http://mff2.blog109.fc2.com/blog-entry-806.html
http://tech.lampetty.net/tech/index.php/archives/449

id:kidaikobayashi

ありがとうございます。なかなか時間が取れずに、試せてません。すみません。またご返信いたします。

2012/07/19 21:25:02
id:kidaikobayashi

ようやく時間が取れて確認いたしました。
3名の方からお答えいただきましたが、このアドオン型が最も簡易でした。
ありがとうございました。

誠に申し訳ございませんが、皆様すべて要望は叶えていただきましたので、ポイントは平等に配分して、本ご回答はベストアンサーとさせていただきます。

2012/07/30 18:01:55

コメントはまだありません

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

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

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

回答リクエストを送信したユーザーはいません