我有一个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
文件数量很大,所以我在寻找时间复杂度最低的解决方案
答案 0 :(得分:2)
我建议pandoc,它可以从wikitext转换为纯文本(以及许多其他格式)。
你会做类似的事情:
for F in *.wikitext; do
pandoc -f mediawiki -o "$F.txt" "$F"
done