• 締切済み

トップページURLのみで下層ページのURL取得

現在勉強のためにsitemapを自動で作れるものを作成しています。 私が考えているようなツールはこのようなツールです -> http://seo.fc2.com/sitemap/ index.html -> hoge.html -> hogekasou.html のようなサイトのindex.htmlを指定した場合にhogekasou.htmlまで探せる方法を探しています。 私が考えている方法は、file_get_contentsなどでindex.htmlを開き解析してhoge.htmlを見つけ、さらにhoge.htmlをfile_get_contentsで開きhogekasou.htmlを見つける方法を考えています。 しかしページが多くなるとこの作業に時間がかかるためなにか効率のいい方法がないかと思い質問させてもらいました。 宜しくお願いします。

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

みんなの回答

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

よそ様のサイトでそういう情報が提供されてないなら巡回するしかないかと。

関連するQ&A

  • PHPでWebページの特定部を取得したいのですが、上手くいきません。

    PHPでWebページの特定部を取得したいのですが、上手くいきません。 現在file_get_contentsを用いてURLを指定して取得し、preg_matchの引数にする方法で行っています。 また、preg_matchは以下のように用いています。 preg_match("/パターン(.*?)パターン/s", $html, $matches); print_rで$matchesを表示してみたところArray()のみ出力されます。 また、話が逸れて申し訳ないですが、上記とは別にfile_get_contentsを用いて動的にURLを指定して取得しているのですが、処理に時間がかかります。(約10秒) $wordをURLに組み込む変数として以下のように記述しています。 file_get_contents("http://…".$word."…(URLの続き)"); 以上の2点についてご教示願います。

    • ベストアンサー
    • PHP
  • トップと同階層にあるファイルをインデックスしたい

    トップページと同階層に index_○○○.php というファイルを作成しました。 SEO対策で、このindex_○○○.php というファイルをインデックスさせたいのですが、何日たっても yahoo! や Google などにインデックスされません。 画像のALTに、キーワードを入れたり、sitemap.phpをgoogleウェブマスターツールで送信するなどはしているのですが、なかなか反映されず困っています 何か他に良い方法があれば教えて下さい よろしくお願いします

  • 「include」と「file_get_contents」の違いがよく

    「include」と「file_get_contents」の違いがよく分かりません。 ネットで調べてみました。 ・「include」… 指定したファイルを読み込んで評価 ・「file_get_contents」… 指定したファイルの内容を全て読み込んで文字列として返す で、実際に試してみたのですが、「file_get_contents」の方がよく分かりません。 具体的には、下記を試すと、結果が、tt string(44) "" となるのですが、ttって何ですか? 評価をしないで文字列として返したということでしょうか? それでなんで tt になるのでしょうか? ▼hoge.php <?php $s = file_get_contents("test1.php"); var_dump($s); ?> ▼test1.php <?php echo ("1どうなるのかな"); ?>

    • ベストアンサー
    • PHP
  • URLをたたく賢い方法

    定期的に実行させたいスクリプトを組んだのですが、あまりいいアイディアがなく、単にそのスクリプトを自分のホームページのフッターに file_get_contents() をおいて読み込ませるようにしています。 ただしかし、なんとなくページの読み込む時間が遅くなったような気がするので、 file_get_contents() 以外でURLをたたく方法がないかな、と思っています。 できればブラウザの処理に影響がないような方法を探しています。 ご存知の方おられましたらよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ローカルのファイル操作

    file_get_contentsでローカルのtxtファイルを読み込ませるにはどうしたらよいでしょうか?win //NG $text = file_get_contents("C:\Documents and Settings\hoge\デスクトップ\hoge.txt");

    • 締切済み
    • PHP
  • javascriptを起動した後のウェブページを取得するには

    こんにちは。よろしくお願いいたします。 以下のようなHTMLソースをブラウザで読み込むとhogeと 表示されますが、PHPのfile_get_contentsやPerlのLWPなどを使って ページを取得するとソースそのものが取得されます。PHPやPerlを使って ブラウザから見たソース(以下の例ではhoge)を取得するには どのようにしたらよいのでしょうか? <script type="text/javascript"> window.onload=function (){ document.getElementById("a").innerHTML="hoge"; } </script> <div id="a"></div>

    • ベストアンサー
    • PHP
  • PHPで外部サイトの一部を取得して表示

    こんにちは。 普通、外部ファイルの内容を取得して表示する場合、次のようにしますよね。 <?php echo file_get_contents("***URL***"); ?> それで、そのページの一部分、 例えば<div id="text">~</div>の内容を取得して、 file_get_contentsと同じように表示する方法はありますでしょうか。 取得する範囲はIDで指定できればと思います。 よろしくお願いします。

    • 締切済み
    • PHP
  • バイナリテキスト判別

    $hoge = file_get_contents($file); で読み込むファイルが画像だったり、実行ファイルだったり、テキストだったりの場合、$hogeに現在入っているのがテキストかバイナリか区別する方法はどうしたらよいでしょう?

    • ベストアンサー
    • PHP
  • mod_rewrite 動的ページを静的ページへ

    SEO対策として、動的ページを静的ページへリダイレクトさせたいと考えています。 レンタルサーバーのため、.htaccessへ記入するしか方法はないと思っているのですが、 そもそも「静的化するってこと自体」がよく分かってないので、教えてください。 <現状> ▼URL /hoge/index.php?id=1 ▼.htaccess RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9A-Za-z]+)\.html$ details.php?id=$1 [L] <結果> 実行すると、/hoge/1.htmlとなり、望む結果を得られるのですが、 念のためディレクトリを指定しておきたいと思い、 RewriteRule ^/hoge/([0-9A-Za-z]+)\.html$ /hoge/details.php?id=$1 [L] としたところ、全く静的表示されなくなりました。 ■質問1 なぜ、ディレクトリを指定すると静的化できないのでしょうか? ■質問2 ネットでmod_rewriteの解説ページを検索してみると、静的化の例として、 「hoge/1.html へアクセスがあった際に、index.php?id=1の結果を返す」、 と記載されてます。 「index.php?id=1へアクセスした際に、hoge/1.html の結果を返す」 ようにした方がいいと思うのですが、 これって結果的には同じことをしている、と考えてよいのでしょうか? ■質問3 例えば、「/hoge/index.php?id=1」に対して、 「index.php?id=1へアクセスした際に、hoge/1.html の結果を返す」 ようにするには、どう書けばよいのでしょうか?

    • ベストアンサー
    • PHP
  • サイトのファイル構成の進めを教えてください

    index.html contents1.html のような構成をphpで index.php index.php?mode=contents1 のようにGETを使いページを分けるのはあまり良い作り方でないのでしょうか SEOなどにも向いてないのでしょうか

    • ベストアンサー
    • PHP

専門家に質問してみよう