ブログのURLとタイトルを取得したい

このQ&Aのポイント
  • ブログの記事のURLがたくさんあります。url.txt内部に一行ずつ2000行ほどずらっとあるのです。
  • ブログのURLから、指定されたURLの/以下の部分を削除し、重複するURLを削除します。
  • 削除したURLのタイトルを取得して、URL+タイトルの形で出力します。
回答を見る
  • ベストアンサー

ブログのURLとタイトルを取得したい

ブログの記事のURLがたくさんあります。 url.txt内部に --- http://blog.jp/foo/4321.html http://site.jp/foo/bar/17167.html : ---- みたいに一行ずつ2000行ほどずらっとあるのですが、 1./がある場合はその最後の指定されたURLの/以下の部分を削除する。ない場合はそのまま。 2.削除した結果、同じURLがあったらそれを削除する 3.そのURLのタイトル(<title>タグの文字列)を取得して、URL+タイトルの形で出力する という3工程を踏んで、自分がよくいくブログのURLとブログ名がほしいです。 http://blog.jp/foo/4321.htmlならhttp://blog.jp/foo/ http://site.jp/foo/bar/17167.htmlならhttp://site.jp/foo/bar/になります。 ですがパースがうまくいかないのか同じサイトへの過剰アクセスを避けるためにsleep(1)を入れたせいかはわかりませんが、自分ではうまく成功しませんでした。 模範回答が知りたいです。このようなphpのコードをどなたかご教示ください。 どうかよろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

file_get_contentsでソースを取得して後は 「DOM拡張モジュール」や「PHP Simple HTML DOM Parser」でhtmlを解析して必要なタグの情報を取得するだけ

spinia0120
質問者

お礼

ありがとうございます。

関連するQ&A

  • ブログにURLをはりつけるには?

    ブログからサイトへいけるように、URLを貼り付けたのですが 投稿してみるとそのままURLが表示されちゃってて・・・ どうすれば ブログのタイトルがでて、そこをクリックしたらそのブログにいける という風にできるのでしょうか? わかる方宜しくお願いします

  • URLからタイトルを取得したい!

    エクセルのA列にはURLがずらっとあり、B列にタイトル取得を考えています。 そこで、他の質問者さんのコードを試しました。 その結果、普通のサイトでは問題なく取得できたのですが、 アメーバーブログなどの無料ブログでは、途中で止まってエラーとなってしまうようです。 どこかいけないのでしょうか? Public Sub ReadTitle() Dim url As Range Dim Http, buf As String Set Http = CreateObject("MSXML2.XMLHTTP") Set url = Range("A1") Do While (url.Value <> "") Http.Open "GET", url.Value, False Http.Send buf = StrConv(Http.ResponseBody, vbUnicode) 'msgbox buf url.Offset(0, 1).Value = getTitle(buf) Set url = url.Offset(1, 0) Loop Set Http = Nothing End Sub Private Function getTitle(buf As String) As String Dim pos1 As Long, pos2 As Long pos1 = InStr(1, buf, "<title>") If pos1 = 0 Then pos1 = InStr(1, buf, "<TITLE>") If pos1 = 0 Then getTitle = "" Exit Function Else pos2 = InStr(pos1 + 7, buf, "</TITLE>") End If Else pos2 = InStr(pos1 + 7, buf, "</title>") End If getTitle = Mid(buf, pos1 + 7, pos2 - pos1 - 7) End Function

  • ブログ画像のURLが分りません

    実は…ブログ画像と言っても ブログ本文等に貼ってある画像って意味じゃないんで そう思われた方、申し訳ありません 実は、下記ブログの1番上に表示されてる 画像でURLが分らないんです つまりタイトルが書かれてる画像という意味です http://ameblo.jp/yua-shinkawa/ http://ameblo.jp/mariya-ameblo/ 通常なら右クリックから 「名前を付けて画像を保存」で出来るんですが この場合、右クリックしても 「名前を付けてリンク先を保存」しか出て来ません 更に、ページのソースから見ようかとも思ったんですが このソースに関しては、まだ知識が浅いからでしょう それらしき物が見つけられませんでした そこで聞きたいんですが、この様な画像のURLは どうやったら分るんでしょうか? 実は、私の場合自分でもブログを作ってるんですが 自分のブログでも、画像を似た様な状態で作っており 随分昔に作ったもんで、そのURLも見つけられない為 ある意味応用と思い、質問しました

  • ブログ上のURLとタイトル抽出

    自分が管理しているMovableType(4.1)で作成したブログがあるのですが、今回アーカイブマッピングを変更しようと思っております。 アーカイブマッピングを変更するにあたり、旧アドレスから新アドレスへアドレス転送をしたいと考えているのですが、記事がかなり多いため、サイトのタイトルとURLを一気に抽出する方法がないか調べております。 抽出したあと、Rediretの設定を使用と考えているのですが、どなたかサイトのタイトルとURLを一気に抽出する方法をご存知のかたいませんか? また、旧アドレスから新アドレスへアドレス転送するのに、便利な方法はほかにありますでしょうか? よろしくお願いします。

  • ブログのタイトル変更

    ブログのタイトルを変更しました。また、HTML上でも変更されていることを確認しました。 しかし、site:サイトURL で調べると、以前のタイトルのままになっています。(内容は更新されています) したがって、タイトルと内容がまったく異なるブログになっています。 どうしたら良いのでしょうか? どなたか回答よろしくお願いします。

  • awkの正規表現について

    ディレクトリ名とファイル名の一覧ファイルがあり、その中から特定ディレクトリの1階層下のディレクトリ名とファイル名を取得したいのですが、うまく抽出できません。 ディレクトリ名とファイル名の一覧ファイル(dir.txt)は /foo/ /foo/bar/ /foo/bar/a.txt /foo/bar/sub/ /foo/bar/sub/x.txt /foo/var/ /foo/var/b.txt /usr/ /usr/bar/ で「/foo/」指定すると /foo/ /foo/bar/ /foo/var/ を抽出し 「/foo/var/」を指定すると /foo/var/ /foo/var/b.txt を抽出したいです。 この場合、awk '$1 ~ /^\/foo\/bar\// {print}' dir.txtとすると /foo/bar/ /foo/bar/a.txt /foo/bar/sub/ /foo/bar/sub/x.txt が抽出されてしまいます。 どのような書き方をすれば1階層下のディレクトリとファイルのみを 抽出できるのでしょうか?

  • ブログ乗っ取り(URLが別のものに)

    私のブログを検索しようとしたら、 ブログタイトル、トップ内容は確かに私の物ですが、 URLが全く違い、クリックしたら知らないサイトになっています。 そのサイトはいかがわしいもので、もしそこから誰かに何かあったらと不安です また、半年もかけて製作してきたものでとても腹立たしい思いをしています ページランクも7まで上げたのに このような事ってあるのでしょうか? また、対策をどのように取ればいいのか 分かる方がいらっしゃいましたら教えてください とても困っています よろしくお願いします

  • URLからタイトルを取得したい(2)

    先日の質問した者ですが、よく分からなかったのでもう一度質問します。 エクセルのA列にURLがあり、B列にタイトルを取得させたいです。 そこで、いろいろ調べてみて以下の質問を参考にし、ベストアンサーを 試したのですが、utf-8の場合は、問題なかったのですが、 今度は、Shift_JISのページが文字化けしてしまいます。 http://okwave.jp/qa/q5617517.html A列には、Shift_JISとutf-8の物が混ざっていますが、 どちらも、文字化けせずにタイトルを抽出することは出来ないでしょうか? ちなみにVisual Basicに関しては、よくわからない素人です。 まことに申し訳ありませんが、詳しく教えていただけないでしょうか? よろしくお願いします。

  • 他サイトの記事タイトルとURLをブログに載せたい

    FeedWind (http://feed.mikle.com/) などのサービスはありますが、 JavaScriptのコードでなく お気に入りのサイトを下のようにして ブログに書きたいのです。 <A href="(エントリーURL Aサイト)" target=_blank>(記事タイトル名)</A> <A href="(エントリーURL Bサイト)" target=_blank>(記事タイトル名)</A> <A href="(エントリーURL Cサイト)" target=_blank>(記事タイトル名)</A> <A href="(エントリーURL Dサイト)" target=_blank>(記事タイトル名)</A> 今、goo RSSリーダーから、記事タイトルとURLをコピペでしてるのですが、 時間が掛かり過ぎて困っています。 他に良い方法や便利なソフトがあればアドバイス宜しくお願いします。

  • gooブログタイトルの上に・・・

    gooブログをやっています。 今日ブログを投稿して、自分のブログを見たら ブログタイトルの上に”gooのTOPページ”や”gooブログのtopページ”へのリンクや ”検索のできる窓”などがある「バー」ができていました。 見た目が悪いので、できればなくしてしまいたいのですが どうすればよいのでしょうか。 pingのURLを設定した以外には変更していません。 よろしくお願いします。

専門家に質問してみよう