gpt4 book ai didi

python - 如何将 mediawiki 中的所有页面导出到单独的页面文件中?

转载 作者:行者123 更新时间:2023-11-29 11:17:25 24 4
gpt4 key购买 nike

相关 How to export text from all pages of a MediaWiki? ,但我希望输出是使用页面标题命名的单独文本文件。

SELECT page_title, page_touched, old_text
FROM revision,page,text
WHERE revision.rev_id=page.page_latest
AND text.old_id=revision.rev_text_id;

可以一次性将其转储到标准输出和所有页面。

如何将它们拆分并转储到单独的文件中?

已解决

首先转储到一个文件中:

SELECT page_title, page_touched, old_text
FROM revision,page,text
WHERE revision.rev_id=page.page_latest AND text.old_id=revision.rev_text_id AND page_namespace!='6' AND page_namespace!='8' AND page_namespace!='12'
INTO OUTFILE '/tmp/wikipages.csv'
FIELDS TERMINATED BY '\n'
ESCAPED BY ''
LINES TERMINATED BY '\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n';

然后将其分割成单独的文件,使用python:

with open('wikipages.csv', 'rb') as f:
alltxt = f.read().split('\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n')

for row in alltxt:
one = row.split('\n')
name = one[0].replace('/','-')
try:
del one[0]
del one[0]
except:
continue
txt = '\n'.join(one)
of = open('/tmp/wikipages/' + name + '.txt', 'w')
of.write(txt)
of.close()

最佳答案

如果您有一些Python知识,您可以利用mwclient库来实现这一点:

  1. 安装 Python 2.7 sudo apt-get install python2.7(遇到问题请参阅 https://askubuntu.com/questions/101591/how-do-i-install-python-2-7-2-on-ubuntu)
  2. 通过pip install mwclient安装mwclient
  3. 运行下面的Python脚本

    import mwclient
    wiki = mwclient.Site(('http', 'you-wiki-domain.com'), '/')
    for page in wiki.Pages:
    file = open(page.page_title, 'w')
    file.write(page.text())
    file.close()

查看mwclient页面https://github.com/mwclient/mwclient供引用

关于python - 如何将 mediawiki 中的所有页面导出到单独的页面文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39503835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com