- 締切済み
あるサイトにあるページを全て取得したいのですが
こんにちは。質問があります。(少し長文になると思います) 私はとあるサイト(データベースを利用した情報系サイト)をよく利用しているのですが、 このサイトは例えば花などの情報をまとめてあるサイトとして、 4000件程度の花が登録されていて、クライアントのボタン一つで「育てやすさ」「何月から栽培 できる」「人気がある」など画像付で並び替えができるサイトとします。(このサイトをBサイトとします) さらに並び替えた画像をクリックすると「専用ページ」に飛んで詳しい育て方や実際育てている 写真などが掲載されています。(さらにはその花の命名者など数多くの情報が登録されていて 非常に有用なサイトです) 私はそのBサイトの並び替えなどのシステムがとても使いにくいためいつもイライラしていました。 (ページも非常に見にくいです) ならばいっそ自分で作ってしまおうと思い、初めてphpとmysqlを勉強してようやく最近完成しました。 作り方として 並び替えはデータベース内で行いphpで呼び出す形として、花の名前や値段、育て方や写真のパスなども全てデータベース に入れ、phpで文字などを出力させるというサイトにしました。(画像はサーバーに置いてあります。 データベースに今情報を入れているのですが種類が4000種類以上もあるためおそらく何年もかかると思いますが今は少しずつ入れています) それでアップロードしてとりあえず予定道理の動きはしているのですが、一つ困ったことがありまして 、文字情報を全てデータベースに入れているため検索にまったくひっかからないのです。 例えば 「チューリップ」「育て方」と検索しても私のサイトは絶対ひっかかりません。 これではせっかく作ったのに誰にも使ってもらえません。 しかし、そのBサイトは「チューリップ」「育て方」と検索すると「チューリップの専用ページ」が検索にヒットします。 私も専用ページは設けていますが、そのページもデータベースから文字など全てphp出力なので検索にはひっかかりません。 Bサイトが検索にヒットするということは、ちゃんとhtml上にチューリップまたは育て方という文字が存在するということになると予想できるのですが・・4000以上もの内容の異なったhtmlのページがサーバー上に本当に存在しているのでしょうか・・。 そうでないと説明がつかないのでそういう結論に行き着いたのですが間違いないでしょうか・・? そうすると私も一つ一つhtmlのページを作らなければならないのですが何年もかかる作業に なりそうなので、Bサイトが本当に4000ものページを持っているのか知りたいのですが、 相手のサーバーにあるページを全て取得する方法は存在するのでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- ORUKA1951
- ベストアンサー率45% (5062/11036)
No.4です。 >問題はデータベース内にある文字なのです。 たとえ、それがデータベースにあるものであろうと、最終的にリンクをたどって 表示されるものなら関係ないです。 データベースの中までは検索できないというだけです。 原因はNo.4にも書きましたが・・ 原因) 検索エンジンがクロールしてインデックスを作ってくれていない。 対策)ひたすら待つ。サイトマップをgoogleに申告する。 原因) HTMLがまずくてページの内容を理解できていない。 対策)class名に文書構造を示すものを使う。(googleが十数年主張し続けている) <div class="section"><div class="nav"> 『id属性及び class属性と併用することで、文書に構造を付加するため( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )』 『HTML5 では、文書をよりよく構造化するために、次の要素が新しく追加 されました。( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#new-elements )』 これは、極めて重要のようです。googlebotはこれを解釈しているよう ですね。 ⇒ウェブマスター向けガイドライン(品質に関するガイドライン) - ウェブマ スター ツール ヘルプ( https://support.google.com/webmasters/answer/35769?hl=ja ) を隅々まで読むこと。あなたが主張されるように 「どうすれば自分のウェブサイトが独自性、価値、または魅力のあるサイトとい えるようになるかを考えてみる。同分野の他のサイトとの差別化を図ります。( https://support.google.com/webmasters/answer/35769?hl=ja#3 )」が出来てい れば、必ずgoogleは見つけてくれます。 >問題はデータベース内にある文字なのです。おそらくあなたは論点が理解でき ていないように 思います。 >私の書いたHTML(PHPを含む)サイトにはチューリップや育て方などの文字 がそもそも無いわけです。 リンクをたどって生成されるHTMLにそれがありさえすれば良いのです。 テクニックとしては、<div class="summary">とか<div class="abstract">の ように、class名で明示して、紹介しているサイトの要約がわかるようにするの も良いでしょう。 ★googleが訪問してインデックスを作るまでには日数がかかります。 ・検索エンジンではなく、ユーザーの利便性を最優先に考慮してページを作成する。 ・ユーザーをだますようなことをしない。 ・検索エンジンでの掲載位置を上げるための不正行為をしない。 ・どうすれば自分のウェブサイトが独自性、価値、または魅力のあるサイトとい えるようになるかを考えてみる。 これに尽きると思います。 ※他の同系統の良いサイトから、自然とリンクされるようになるのが最もよいで す。裏技ですが、それらのサイトにコメント投稿欄に紹介するとか・・ とにかく、googleに取っ掛かりの情報を提供すること ※googleで検索で出てくるようになって、ユーザーがあなたのページを見てすぐ 引き返してくるようでは順位が下がっていきます。よいページが出来たようです ね。たぶん、そのうち見つけてくれる。 それまで、「独自性、価値、または魅力のあるサイト」になるよう頑張ってく ださい。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
他人の著作物である画像や文章は、参照(リンク)や引用は可能ですが、流用は出来ません。 著作権法で引用( http://law.e-gov.go.jp/htmldata/S45/S45HO048.html#1000000000000000000000000000000000000000000000003200000000000000000000000000000 )は可能ですが、その場合は ・原本を一切改変しないこと ・引用元を明記すること ・その著作物の主張を補足するための量的にも内容的にも「従」的なものでなければならない ですから、写真や栽培方法の記事はすべてあなた自身のオリジナルである必要があります。 >あるサイトにあるページを全て取得したいのですが これが、あなた自身が製作された、植物名、写真、栽培方法へのリンクのデータベースであるとしてお答えします。 検索エンジンは、たとえそのページがPHPなどで動的に製作されたものであるかないかは問わず--それを知らない---ので、そのサイトをクロールしてインデックスは作ってくれます。 >例えば 「チューリップ」「育て方」と検索しても私のサイトは絶対ひっかかりません。 原因) 検索エンジンがクロールしてインデックスを作ってくれていない。 原因) HTMLがまずくてページの内容を理解できていない。 (文書構造のマークアップがまずい) >しかし、そのBサイトは「チューリップ」「育て方」と検索すると「チューリップの専用ページ」が検索にヒットします。 原因) 検索エンジンがインデックスを作っている 原因) 文書構造が分かりやすい >私も専用ページは設けていますが、そのページもデータベースから文字など全てphp出力なので検索にはひっかかりません。 原因) PHPなのか、CGIなのか、その他サーバーサイドのプログラムだろうが無関係 >Bサイトが検索にヒットするということは、ちゃんとhtml上にチューリップまたは育て方という文字が存在するということになると予想できるのですが・・4000以上もの内容の異なったhtmlのページがサーバー上に本当に存在しているのでしょうか・・。 それは無関係です。例えばWiki・・・『2014年3月14日(日本時間15日)、ウィキペディア日本語版の記事数が90万項目を達成しました。( http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8 )』とありますが、それだけのHTMLが実在しません。ウィキソフトウェア( http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%82%AD%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2 )を使ったシステムです。 ただ、 ・「技術に関するガイドライン( https://support.google.com/webmasters/answer/35769?hl=ja#2 )」で御存知のように、クローラーがサイト内をクロールできない と不可能です。WikiはPATH_INFOを使用していますから、検索エンジンは独立したページがあると認識できてます。 PATH_INFOはとっても便利で、私のサイトも基本的にPATH_INFOです。 ・内容やマークアップの問題 「品質に関するガイドライン( https://support.google.com/webmasters/answer/35769?hl=ja#3 )」
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
>4000以上もの内容の異なったhtmlのページがサーバー上に本当に存在しているのでしょうか・・。 可能性はありますね。 何年もかければ4000ページでも作る事は可能です。 400人で共同制作をすれば、1人10ページでも合計で4000ページになります。 昨日今日、1日で作られた物でなければ、何年もかけて4000ページを作られたでしょうし、 「公開せずに何年もかけて作ってきて、今日やっと公開しました」というサイトであれば、何千ページの規模のサイトが1日で作られたように見えます。 >文字情報を全てデータベースに入れているため検索にまったくひっかからないのです。 ページを作る事と検索サイトに登録される事は別問題です。 早ければ数週間、一般的には2~3ヶ月程かかりますし、 検索上位に表示されるには、(検索結果に表示される事をプロとしてやっているのでなければ)1年以上見込んでおくくらいでちょうどいいのではないでしょうか。
- aozakana_dha
- ベストアンサー率45% (76/168)
検索でヒットするかということと、静的なウェブページあるかどうかとは、 直接の関係はありません。 外部からリンクを辿ることさえできれば、 そのページが固定的なHTMLで書かれたものであろうが 動的にPHPで書かれたものであろうが、 そのうち検索エンジンのクローラが巡回してきて検索の対象になるかと思います。 またウェブページのコンテンツには著作権があります。 説明文中のBサイトがコンテンツの二次利用に関して どのような許諾をしているかわかりませんが、 その範囲を逸脱しないように注意しましょう。
補足
まず私は著作権侵害を行うつもりはありません。そんなことは当たり前ですし、言われる必要もないかと思います。 あと動的なサイトと静的なサイトがどちらも検索にヒットするのは知っています。 問題はデータベース内にある文字なのです。おそらくあなたは論点が理解できていないように 思います。 私の書いたHTML(PHPを含む)サイトにはチューリップや育て方などの文字がそもそも無いわけです。 (phpが動いて初めて文字がデータベースから取り出されるわけですから)
- lv4u
- ベストアンサー率27% (1862/6715)
>>相手のサーバーにあるページを全て取得する方法は存在するのでしょうか? データベースを使わずに、単純にディレクトリによる階層で作ったサイトであれば、全ページを取得することは、サイトの作りにもよりますけど、可能です。 私は以前、男性が喜びそうな画像・動画が大量に登録されたサイトから、まとめて一気にダウンロードしたこともあります。 >>4000以上もの内容の異なったhtmlのページがサーバー上に本当に存在しているのでしょうか・・。 可能性としては、あると思います。情報が表示されたときのURLを見れば、分かるんじゃあないですか?
お礼
ご回答ありがとうございます。 そのBサイトを見ていたのですが、アドレスの一部分を変更すると(数値ですが)ページが切り替わります。 ということはやはり独立したHTMLサイトがあるということでしょうか・・。
補足
まず私は著作権侵害を行うつもりはありません。そんなことは当たり前ですし、言われる必要もないかと思います。(何度も書きますが情報系サイトであって一般に公開されている情報をまとめたサイトですから その情報には著作権自体ありませんし、相手が作った育て方などの著作権が発生するものを転載したりも しません) 他の方の補足にも書きましたが、動的なサイトと静的なサイトがどちらも検索にヒットするのは知っています。 問題はデータベース内にある文字なのです。おそらくあなたは論点が理解できていないように 思います。 私の書いたHTML(PHPを含む)サイトにはチューリップや育て方などの文字がそもそも無いわけです。 (phpが動いて初めて文字がデータベースから取り出されるわけですから)