我将如何使用Python库" Wikipedia"提取德国文章?

时间:2016-05-01 12:33:30

标签: python nlp wikipedia corpus

在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("''",))

1 个答案:

答案 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循环对象更改为字典。我现在没有任何错误。