2011-06-26 10 views
2

私は、1行にいくつかのURLを持つファイルを持っています。タグに「キーワード」を抽出する必要があります。つまり、「キーワード」のメタタグがある場合は、そのタグの「コンテンツ」値を取得します。 例:ウェブページの場合には、このメタタグを持っていますwgetを使ってメタタグ属性を抽出する

<meta name="keywords" content="wikipedia,encyclopedia"> 

は、そのURLのために私は、「ウィキペディア、百科事典」は、抽出したいです。

「wget」を使用してWebページをダウンロードしてから、標準のHTMLパーサを使用して解析します。

Webページ全体をダウンロードすることなくこれを行うには、より良い方法があるのだろうかと思っていました。

+0

ドキュメント全体をダウンロードするのはなぜ重要ですか?それは任意の制限(何らかの説明なしで、とにかく)のようです。 –

+0

@ Suu タグキーワード –

答えて

0

いいえ - 一部のデータを受信した後にページ全体をダウンロードするか、ダウンロードを中断する必要があります(これはAFAIKとして実行するのがさらに悪く、はるかに複雑ですが、wgetではできません。あなた自身のwget)。

0

PHPに慣れている人は、QueryPathの周りにループをラップすることで、簡単に何かをまとめることができるはずです。ドキュメントからの例をスワイプ

は、この:

require 'QueryPath/QueryPath.php'; 

$url = 'http://example.com'; 
print qp($url, 'title')->text(); 

...出かけ、example.comで文書を取得し、タイトルタグと出力、それのテキストを抽出します。
特に、すでにjQueryに精通している場合は、メタキーワードタグを探してコンテンツ属性を抽出するだけです。 (これは単純化されていますが、QueryPathの大きな部分は多かれ少なかれ「サーバサイドのjQuery」を実装しています)

このプログラム的な方法を追求し、さらに質問がある場合は、スタックオーバーフローサイトquerypath tagもアクティブです。

http://simplehtmldom.sourceforge.net

私はまだそれをしようとしなかった。ここで

+0

を抽出する必要がある数十億のURLがある場合、OPはメタ_タグを抽出したいと私は理解しています** _ _ "ウェブページ全体をダウンロードしています" _。 – LazyOne

+0

@Lazyoneはい、あなたは私を正しくしました –

+0

まあ、ここで起こっていることですが、解析するためにファイルの内容をフェッチするだけではなく、「結果は実際のファイルがサーバー上にある」という意味です。私はこれが主題に追加しようとしている質問につながると思います。 –

0

あなたは別のソリューションを持っています!

関連する問題