myślę, że trzeba albo:
- przetworzyć już istniejącą listę english words w Wikipedii, które zostały wyodrębnione z zrzutu bazy danych.
- pobierz zrzut bazy danych (a nie tylko tytuły) i wyodrębnij warunki samodzielnie.
Próbowałem opcji a) tylko dlatego, że opcja b) implikowałaby pobranie kilku GB. To bardzo proste, w rzeczywistości dołączam szybką implementację JS, której możesz użyć jako podstawy do stworzenia własnego skryptu w preferowanym języku.
var baseURL="http://en.wiktionary.org/wiki/Index:English/"
var letters=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
for(i=0;i<letters.length;i++) {
var letter = letters[i];
console.log(letter);
$.get(baseURL+letter, function(response) {
$(response).find('ol li a').each(function (k,v) { console.log(v.text) })
})
}
EDIT Byłem bardzo ciekaw na temat siebie, więc napisałem skrypt Pythona. Na wszelki wypadek ktoś znajdzie przydatne:
from lxml.cssselect import CSSSelector
from lxml.html import fromstring
import urllib2
url = 'http://en.wiktionary.org/wiki/Index:English/'
letters = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
for l in letters:
req = urllib2.Request(url+l, headers={'User-Agent' : "Magic Browser"})
con = urllib2.urlopen(req)
response = con.read()
h = fromstring(response)
sel = CSSSelector("ol li a")
for x in sel(h):
print x.text.encode('utf-8')
będę wklejać wyniki do Pastebin siebie, ale limit 500kb nie pozwoli mi
Nicea rozwiązanie! Dzięki! –