1

PHPを使用して、辞書をループし、そのすべての単語をデータベースにコピーできるジョブを作成したいと思います。これが私の唯一の要件です。

ここで尋ねたように、私はこの仕事をするいくつかのAPIを探していました。しかし、私は良いAPIを見つけられず、他の誰も見つけなかったようです。したがって、唯一の可能性は、たとえば、dict.ccなどのサイトのすべての単語を何らかの方法で取得するジョブを作成することです。

どうすればそのような仕事を始められますか?何に注意を払う必要がありますか?そのような目的のための概念のインプットやアイデアはありますか?

ご意見ありがとうございます!

4

2 に答える 2

1

PERLまたはcurlスクリプトを使用してデータをスクライブできます。http://www.duden.de辞書のWebサイトで、次の簡単なアイデアを使用します

http://www.duden.de/suchen/dudenonline/ word

「 word 」という単語を検索する単語に置き換えます。たとえば、carという単語の意味を知りたい場合、URLは次のようになります。

http://www.duden.de/suchen/dudenonline/

したがって、ターゲットURLを見つけて、データをスクライブする必要があります。Perlスクリプトはcurlよりも優れています。私はスクリプトを知りません..あなたはデータをスクライブするためのperlスクリプトを開発する方法をグーグルで検索します..

この情報があなたに役立つことを願っています

于 2012-07-30T07:34:15.913 に答える
1

この目的のためdictionaryに、次のような形式を作成できます(たとえば):

sauna, stoombad|Sauna
fitnessruimte|Fitnessroom
air-conditioning, airconditioning|Air Conditioning
wifi, wlan, internet, adsl, internettoegang|Internet
open haard|Open fire
tv|Television
sat, sat-tv|Satelite
afwasmachine|Vaatwasser
magnetron, combimagnetron|Microwave
oven, mini-oven|Oven
kluis|Safe
koelkast, koel-/vriescombinatie|Frige
koffiemachine|Coffemachine
diepvriezer|Freezer

あなたが読むべきよりもfile、それarrayexplode例えば:valuesmain word

foreach ($dictionary as $key => $value) {
  list($values, $option) = explode('|', $value);
  $values = explode(',', $values);
  $dictionary[$key] = array('option' => trim($option), 'values' => $values);
}

そして、次の方法を使用して、目的の効果を取得します(各アイテムに個別の関数を使用して適用し、同じことを行うこともできますarray_walk())。

foreach ($dictionary[$key]['values'] as $index => $value)
  $itemValues[$index] = '\b'.str_replace(array('/'), array('\/'), trim($value)).'\b'; // adding word boundary to each element and escaping slashes for regexp

また、読み取り値の配列を使用しRegExp patternて、特定の単語セットを検索するためのを構成します。

$pattern = '/'.implode('|', $itemValues).'/i'; // composing RegExpr pattern with case-insensitive option

これを使用すると、任意のテキストを作成patternできます。preg_matchテキストに単語が存在する場合、たとえばair-conditioningまたはairconditioningpreg_matchが返され、(辞書 の後にある単語)がテキストで使用可能であるtrueことがわかります。あなたはあなたのテキストに対して各アイテムのためにそのようなことをしているので、あなたはあなたがリストした単語を集めることができます。Air Conditioning|preg_matchdictionary

単語のセットの使用を省略し、行ごとの単語を使用して、より詳細なテキストをテストできます(単語ごとに)。

この手法は、一連の単語(またはさまざまなバリエーションや言語の1つの単語)の存在についてテキストを抽出またはテストし、それら一般化された単語または意味にリンクするために使用するのに非常に適しています。

于 2012-07-30T08:08:03.393 に答える