3

我有的:

0) 一个使用从旧 WIKI 获取所有数据的请求的 python 脚本。(如果需要,请向我索取)

1)一个“下载”文件夹。在那里将 wiki 标记保存为 .txt 文件。

2) 文件名:wiki/page1 用于制作 wiki__page1.txt 。(每个“/”被一个双“_”替换,以使文件名可用。

3) 一个 Wiki_Move_Final.txt,它是一个文件,其中包含我要移动的所有页面的名称,每页一个换行符。

4)总共600个文件。其中许多是underpages (wiki__page1__underpage1.txt)

我正在尝试做的事情:

4) 将所有这些知识上传到已经有页面和结构的新 WIKI。保留旧页面的结构。

5) 使用 python 脚本,使用 .requests。

到目前为止,这是我的脚本。结果是它在我的浏览器上创建了带有编辑锁定文件的文件夹。

DESTINATION_URL = "http://127.0.0.1:8080/"
with open('not_found.txt', 'wt') as log:
    for line in open('Wiki_Move_Final.txt'):
        line = line[:len(line)-1]
        try:
            filename = os.path.join('download',      line.replace('/','__')+".txt")
            with open(filename,'rb') as payload:
                data = {
                    # "action" : "edit",
                    # "button_save" : "Save Changes",
                    # "category" : "",
                    # "comment" : "Upload of old wiki",
                    "rev" : 0,
                    "savetext" : payload,
                    # "editor" : "text",
                    # "ticket" : "005523d9d8.baed4a026ea626e287ed81245b934103095698a4",
            }
                # cookies = {
                #   "MOIN_SESSION_8080_ROOT": "458d90bcdbd098f26bff25931f9d603c28ef14c4",
            # }
                headers = {
                    # "Content-Type" : "application/x-www-form-urlencoded",
            }
                url = DESTINATION_URL + line + "?action=edit"
                requests.post(url, data=data, headers=headers)
        except IOError as e:
            log.write('%r %s\n' % (line, e))
4

0 回答 0