将wikitext转换为纯文本的最简单方法

时间:2017-08-23 12:04:50

标签: node.js mediawiki wikipedia

我有一个wikitext文件列表(所有.txt),每个文件都有wiki文本标记,我想要每个文件,相应的纯文本版本,我尝试使用https://github.com/spencermountain/wtf_wikipedia,它确实单独工作文章,但是当迭代文件夹中的所有.txt文件时,我收到以下错误,我很难调试。

错误:

  

/home/saurabh/node_modules/wtf_wikipedia/src/index.js:27 let arr =   Object.keys(data.sections).map(k => {                      ^

     

TypeError:无法将undefined或null转换为object       在Function.keys()       在Object.plaintext(/home/saurabh/node_modules/wtf_wikipedia/src/index.js:27:20)       at /home/saurabh/Desktop/comprehension_burden/wikipedia_w2v/wiki_xml_to_jsonv4.js:71:32       在Array.forEach()       在对象。 (/home/saurabh/Desktop/comprehension_burden/wikipedia_w2v/wiki_xml_to_jsonv4.js:62:7)       在Module._compile(module.js:573:30)       at Object.Module._extensions..js(module.js:584:10)       在Module.load(module.js:507:32)       在tryModuleLoad(module.js:470:12)       在Function.Module._load(module.js:462:3)

以下是代码:https://gist.github.com/saurabhvyas/1b719f027984ea33864a15fd58bf1b9f

文件数量很大,所以我在寻找时间复杂度最低的解决方案

1 个答案:

答案 0 :(得分:2)

我建议pandoc,它可以从wikitext转换为纯文本(以及许多其他格式)。

你会做类似的事情:

for F in *.wikitext; do
    pandoc -f mediawiki -o "$F.txt" "$F"
done