2017-02-28 11 views
0

私は、列1(文字列はスペースで区切られた例:United Nations)の組織のリストを持っていて、関連するURL(www.un.org/など)列1は検索文字列としての値です。ジオコーディング手順はかなり簡単です(http://enipedia.tudelft.nl/wiki/OpenRefine_Tutorial#Geocoding_names_and_addresses)ので、Google検索や他のWebサービスを使用してこのタスクを実行する方法があるのだろうかと思います。ヒット・アンド・ミス・アプローチですが、手作業での編集に勝ちます。ありがとう!openRefine上の単語リストからURLを取得する

答えて

0

具体的な例がなくても広範な質問に答えることは難しいです。もちろん、Open Refineを使用して、大量のAPIを使用してデータを豊かにするか、Webスクレイピングを行うことができます。ほとんどの場合、手順はほぼ同じです.URLを再構築し、「URLを取得して列を追加」し、HTML、XML、またはJSONファイルの結果の列を解析します。

ここでは、名前のリストからWikipedia search APIを呼び出す方法の例を示します。 URLを再構築

screencast

は非常に簡単です:

"https://en.wikipedia.org/w/api.php?action=opensearch&search=" 

+ value.escape('url') 

+ "&limit=10&namespace=0&format=xml" 

何、value='United Nations'ため、これを与える:XMLコンテンツはその後、抽出するために解析できる

https://en.wikipedia.org/w/api.php?action=opensearch&search=united+nations&limit=10&namespace=0&format=xml

あなたが必要とするアイテム。たとえば、Wikipediaのページの説明を得るには、

value.parseHtml().select('Description').htmlText() 
+0

ありがとう。これはウィキペディアのAPIと完全に連携しています。あるいは、私が前に気にしていたように、Googleマップを使っています。しかし、私はそれをGoogleの検索と連携させることはできません。 – Herbert

+0

"http://www.google.com/uds?action=opensearch&search=" + value.escape( 'url')+ "&limit = 10&namespace = 0&format = xml"を試してみました。 私はCSE(カスタム検索エンジン)とそれに対応するAPIキーと検索エンジンIDを代わりに使うと思います。しかし、これらをコードに追加する方法はわかりません。私はこれを試してみました(そして失敗しました):https://www.googleapis.com/customsearch/v1?key=KEY_HERE&cx=CX_HERE?action=opensearch&search=United+Nations&limit=10&namespace=0&format=xml – Herbert

+0

私は誤解があると思います。メソッドは、私はウィキペディアのURLで動作する説明した。別のサービスの場合は、別のURLを使用します。 「Opensearch」または「xml」はgoogle.comでの検索で意味をなさない。とにかく、あなたはGoogleを掻きすることはできません。 Googleは世界で最大の詐欺師であり、誰もそれを同じようにすることはできません。いくつかのGoogle APIを使用する必要があります。 –

関連する問題