- 締切済み
エクセルでURLからタイトルと本文を抽出するには?
エクセルを使ってURLからタイトルと本文を抽出するにはどうすればいいのでしょうか? A列にはURLを記入するとして、VBAを使ってB列にタイトル、C列に本文を抽出したいです。 ちなみに、C列の本文は、全てではなく、200文字とか設定したいです。 (C列は本文200文字のあとに「・・・」が入るようにしたいです) すいませんが、どなたか教えてください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Halical
- ベストアンサー率8% (5/60)
明らかに説明不足ですね。 タイトル?本文? ブログでも抽出したいのでしょうか? ブログのXMLファイルを読み込みたいのなら「XMLDOM」というやり方があります。 とりあえず、この質問は破棄して、回答する側の身になって質問文を書き直しましょう。
- imogasi
- ベストアンサー率27% (4737/17070)
質問者は、どれぐらい(エクセル)VBAが出来るのか。その辺を考える必要があるだろう。 やることは (1)WEBページの内容をコンピュター的に知る(捕まえる) (2)タイトルや、本文を抜き出す(選別する)方法(ロジック) (3)エクセルシートに書き出し の内、(3)しかエクセルVBAの範囲ではない。 ーー 他ソフトとの連携などは、すこしぐらいエクセルVBAが出来ても、歯が立たないはず(別物) インターネットでそのWEBページを表示し、表示ーソースで表示されるような情報が、サーバーから送られてきて、インターネットエクスプローラー(WEBブラウザ)などが、HTML文の約束に従って質問者のパソコンで見えているような文字・画像などに再現して見せている。 (2)のこの中で、タイトルや本文と質問者が言っているものを抜き出すのは一般原理的には不可能だろう。 HTML文には<TITLE>や<BODY>はあるが、これが意味的にタイトルであったり、本文である保証はない。 ーー 判らないからと、丸投げでこういうコーナーにすぐ聞くことはやめて、HTML文の役割などを勉強すること。HTMLはWEBページの体裁(見てくれ)を整えることに重点が置かれている。その点から意味的重要な内容はここだと伝えるには不便で、他のマークアップ言語が工夫されている理由である。こういうことを勉強するのが先だ。 難しいことを他人頼みでやろうとしすぎ。 ーー ただし、最近WEB記事が充実し、インターネットを起動してWEBページを送らせて、テキスト情報を掴むコードは調べれば直ぐ調べられる。 少し勉強する人ならとっくに注目しているはず。 例えば「VBA インターネット」などで照会して http://www.ken3.org/cgi-bin/group/vba_ie.asp や http://officetanaka.net/other/extra/tips02.htm などを参考に(後者で) Sub Sample() Dim Http, buf As String Set Http = CreateObject("MSXML2.XMLHTTP") Http.Open "GET", "http://www.officetanaka.net/other/index.htm", False Http.Send buf = StrConv(Http.ResponseBody, vbUnicode) Open "C:\sample.htm" For Output As #1 For i = 1 To 10 MsgBox Mid(buf, (i - 1) * 600 + 1, 600) Next i Close #1 Set Http = Nothing End Sub i = 1 To 10の10は手抜きで見本を示すための例です。 上記ForNextの部分を、元のPrint #1, bufにすればテキストファイルに書き出せる。 こういうテキストから本文やタイトルをどうして抜き出すのか、質問者のURLの場合で、その方法(ロジック)を文章でも表現できますか。出来ないだろう。
- web2525
- ベストアンサー率42% (1219/2850)
>URLからタイトルと本文を抽出する HPアドレスから、ネット上のサイトのタイトルと本文を抽出? なんとなくやりたい事はわからなくもないが、現実問題難しいのでは? タイトルに関しては手段が無いわけではない ページのタイトルはヘッダー情報に記載されているので、タイトルを抽出するためにはヘッダー情報を読み込めれば可能 例: ※TELNETコマンドでページを取り込み、ヘッダー内の<TITLE>タグで囲まれた中身を抽出すれば可能※ 本文とは何を意味するかによって手段が大きく異なります ページによっては、WEBクエリーで目的の箇所だけ読み込む事は可能ですが ページの作りによってその処理は変わってくるので、全てのサイトに適応する事はほぼ不可能 たとえば www.yahoo.co.jp このページの本文ってどこを指しますか? >本文は、全てではなく、200文字とか テキストだけで構成されたページであれば可能でしょうが ・はじめにバナー広告が来てたり ・スクリプト処理だけが書かれていて、ページ本体は別の場所に有ったり こんな場合(ほとんどのサイトはこんな作りですが)何処を読み込むの? HTML構文に関して一度学習してから質問しなおされた方が良いかと思います