期待する部分以外のテキストもあると思いますが、
ページの構成上それもアンカーテキストとして書かれています。
たたき台レベルですが、拡張子を 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
ブックマークレットで。
質問文をそのまま受け取り、ページ内の全てのリンクを「アンカーテキスト,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); })();
今回は簡易的にブックマークレットで回答しましたが、継続的にある目的でファイルに書き出したい、コピペしやすい形で出力したい、など仕様を表明すれば誰かが(作ってくれる|探してくる)かもしれません。
なるべく全てのサイトで(何の目的で)収集したいのか、一定のサイトだけで必要なのか。
ありがとうございます。ちょっとまだ試せてませんので、またご返信いたします。
すべてのタブに開いているページのタイトルとURLを一括コピーするfirefoxのアドオン「Copy Urls Eexpert」というのはどうでしょう?
http://mff2.blog109.fc2.com/blog-entry-806.html
http://tech.lampetty.net/tech/index.php/archives/449
ありがとうございます。なかなか時間が取れずに、試せてません。すみません。またご返信いたします。
ありがとうございます。ちょっとまだ試せてませんので、またご返信いたします。
2012/07/18 00:03:19