1

次のように、3 つの列を持つ (巨大な: 640 万行) データベース テーブルがあります。

URL     Title      Description

現在、URL 列のみが入力されており、Web 上のさまざまな URL が含まれています。各行の URL にタイトルとメタの説明を追加する必要があります。これを行うには、次の 3 つの方法があります。

オプション 1: php と CURL を使用して各 URL に移動し、タイトルと meta:description を取得します。(オプション 2 または 3 を使用しても、少なくとも URL の一部に対してこれを行う必要があります)。

オプション 2: 次のような数百万の要素を持つ DMOZ xml ファイルがあります。

    <ExternalPage about="http://animation.about.com/">
       <d:Title>About.com: Animation Guide</d:Title>
       <d:Description>Keep up with developments in online animation for all skill levels.     Download tools, and seek inspiration from online work.</d:Description>
       <topic>Top/Arts/Animation</topic>
    </ExternalPage>
    <ExternalPage about="http://www.toonhound.com/">
       <d:Title>Toonhound</d:Title>
       <d:Description>British cartoon, animation and comic strip creations - links, reviews  and news from the UK.</d:Description>
       <topic>Top/Arts/Animation</topic>
    </ExternalPage>

xmlreader を使用してすべての ExternalPage-about の URL を比較し、テーブル内の 640 万の URL のいずれかと一致するかどうかを確認し、一致する場合は、タイトルと説明を追加します。

オプション 3: 上記のすべての dmoz データを別のデータベース テーブルに (再び xmlreader を使用して) 書き込むことができます。

すべての URL に対してオプション 1 を使用するよりも、これらの URL に対してオプション 2 または 3 の方が高速でしょうか? はいの場合、2 つのオプションのうちどちらが高速ですか?

4

2 に答える 2

1

これは単なるスクリプトです。実行するのは 1 回だけです。あまり高速でなくても問題ありません。ところで、600 万行はそれほど大きくはありません。まともなコンピューターでは数分かかります。

CURL ソリューションはまったくオプションではありません。600 万の URL を取得するのにどれくらいの時間がかかるか知っていますか?!!

XML をデータベースに挿入し、必要に応じてクエリを実行します。

編集: 何百万もの URL をキャプチャするには (完了するまでに数週間かかる場合があります!):

  1. 安価な vpsサーバーを入手してください (自宅のコンピューターよりも高速な接続)。
  2. URL をテキスト ファイルにエクスポートします。
  3. wget を使用して各 URL をダウンロードします (複数の wget プロセスを使用することを忘れないでください)。
于 2013-02-14T09:24:05.697 に答える