在Anaconda中使用Python 2.7。
我正在尝试使用德语维基百科文章构建文本语料库。提取这些并将它们保存为原始文本文件的最简单方法是什么?
我的尝试是使用Wikipedia python库:
https://pypi.python.org/pypi/wikipedia/
https://wikipedia.readthedocs.io/en/latest/code.html#wikipedia.random
到目前为止我的想法是这样的:
获取随机维基百科标题列表:
import wikipedia
wikipedia.languages("DE")
titles = {}
for i in range(1, 3000):
titles[i] = wikipedia.random(pages=page)
从每个标题页中提取内容并附加到列表"测试":
test = []
for n in range(1,3000):
test.append[n] = wikipedia.page(title=titles[n],auto_suggest=True, redirect=True).content.encode('utf-8')
将列表写入文本文件:
text_file = open("C:/Users/Cedric Oeldorf/Desktop/University/Research/Data/Gutenberg/wiki/TEST.txt", "w")
text_file.write(test)
text_file.close()
我被困在第二个循环上了。我收到各种错误,从连接错误到
TypeError: 'builtin_function_or_method' object does not support item assignment
当我单独运行此行时:
wikipedia.page(title=titles[1],auto_suggest=True, redirect=True).content.encode('utf-8')
它返回:
ConnectionError: ('Connection aborted.', BadStatusLine("''",))
答案 0 :(得分:0)
以下作品:
import wikipedia
wikipedia.languages("de")
titles = {}
for i in range(500, 30000):
titles[i] = wikipedia.random(pages=page)
print(i,"titles retrieved")
test = {}
dictlist = []
dictlist = titles.values()
for n in range(1,30000):
test[n] = wikipedia.summary(title=dictlist[n],auto_suggest=True, redirect=True).encode('utf-8')
daa = []
daa = test.values()
for i in range(0,29999):
text_file = open("C:/Users/Cedric Oeldorf/Desktop/University/Research/Data/Gutenberg/wiki/TEST2.txt", "a")
text_file.write(daa[i])
text_file.close()
我将for循环对象更改为字典。我现在没有任何错误。