And*_*arz 8 mediawiki-api wiktionary
我可以轻松地将转储与维基所有的冠军,但这个转储包含的每一个字,甚至非英语的人.
例如,您找到souris(mouse法语):https://en.wiktionary.org/wiki/souris
有没有一种简单的方法或现有的脚本来获得只在一个标题特定语言.我想从wiktionary获得所有英语单词,不包括那种语言中不存在的单词.
到目前为止,我唯一的想法是解析文本并检查是否有==English==一行,但它太慢而无法使用.
我想你需要:
我尝试了选项a)只是因为选项b)意味着几GB的下载.这很简单,事实上我包含了一个快速JS实现,您可以将其用作基础,以您的首选语言创建自己的脚本.
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) })
})
}
Run Code Online (Sandbox Code Playgroud)
编辑 我自己对这个主题很好奇,所以我写了一个python脚本.以防有人发现它有用:
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')
Run Code Online (Sandbox Code Playgroud)
我自己将结果粘贴到pastebin但是500kb限制不会让我
| 归档时间: |
|
| 查看次数: |
1639 次 |
| 最近记录: |