2009-09-20 56 views
7

我需要一個普通名字的列表,比如「Bill」,「Gordon」,「Jane」等。是否有一些已知名稱的空閒列表,而不是我必須輸入的名字?例如,我可以用程序輕鬆解析一些內容以填充數組?普通名字的普通計算機可解析列表?

我並不擔心:

  • 知道,如果一個名稱是男性或女性(或兩者)
  • 如果數據集有誤報的一大堆
  • 如果有那個名字不在其上,顯然這樣的數據集不會完整。
  • 如果有'重複',即我不在乎數據集是否將「Bill」和「William」和「Billy」列爲不同的名稱。我寧願有更多的數據小於
  • 我不在乎知道流行的名字

我知道Wikipedialist of most popular given names,但是這一切都在一個HTML頁面,並與可怕的wiki語法manged了。有沒有更好的方式來獲得這樣的樣本數據,而不必屏幕刮維基百科?

回答

5

您可以輕鬆地使用維基百科的API(http://en.wikipedia.org/w/api.php)在檢索特定類別的網頁列表,看起來像分類:教名是你想從開始的東西。

http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmnamespace=0&cmlimit=500&cmtitle=Category:Given_names 

從這個URL結果的部分看起來像這樣:

<cm pageid="5797824" ns="0" title="Abdou" /> 
    <cm pageid="5797863" ns="0" title="Abdu" /> 
    <cm pageid="859035" ns="0" title="Abdul Aziz" /> 
    <cm pageid="6504818" ns="0" title="Abdul Qadir" /> 

看的API,並選擇適當的格式和查詢參數,檢查類別。

P.S. BTW,從頁面的維基文本您鏈接到包含一個表單名稱那麼容易使用正則表達式...以及在呈現的HTML頁面的鏈接標題中提取已「(名稱)」附着在名稱本身。

+0

查詢中的* cmlimit *選項最多允許未授權用戶使用(500),並且可以升至5000個項目。無論如何,使用* cmcontinue *選項檢索塊的所有結果塊... – 2009-09-20 22:22:33