如何使用mediawikiapi在python中创建包含长格式文本和列表的页面

2024-04-28 11:00:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近从一个烹饪网站上学会了如何从我妈妈的食谱中挑选。我目前的目标是将这些食谱放到一个自托管的mediawiki服务器中。因为我只知道python,所以我尝试使用GET和POST请求以及API来创建这些页面。我尝试了各种python脚本,比如pywikibot、mwclient和wptools,以获得各种形式的成功。当涉及到编辑/创建wiki页面时,后面两个确实缺少文档,而且pywikibot有一些bug(报告)阻止我登录或使用pagefromfile.py页脚本。你知道吗

幸运的是,mediawiki website上有一个示例python代码。你知道吗

username = 'myusername'
password = 'mypassword' # see https://www.mediawiki.org/wiki/Manual:Bot_passwords
api_url = 'https://my.wiki.com/api.php'
section = 'new'
sectiontitle = 'Ingredients'
summary = 'ingredients'

message = {" \n\u2022 6 db óriási nyers padlizsán <br>"
    +"\n\u2022 4 db édes, húsos piros paprika, egészben <br>"
    +"\n\u2022 3 db fekete paradicsom, vastagabb karikára szelve <br>"
    +"\n\u2022 1 db zöld jalapeno paprika, egészben <br>"
    +"\n\u2022 2 db nagy vöröshagyma, vastagabb karikára vágva <br>"
    +"\n\u2022 10 cikk fokhagyma <br>"
    +"\n\u2022 1 ek édes piros paprika <br>"
    +"\n\u2022 ízlés szerint só <br>"
    +"\n\u2022 ízlés szerint bors <br>"
    }
page = 'Test'

这段代码创建了一个包含相关节和消息的页面,看起来像this。你知道吗

问题:

  1. 如何创建多个sectiontitle?你知道吗
  2. 如果我输入wiki代码,为什么mediawiki不格式化它?例如,如果我生成消息“#6db oriasi nyers”,那么mediawiki将创建一个带有“#6db oriasi nyers”而不是“1”的消息。6分贝oriasi nyers”。你知道吗

Tags: 代码httpsbr脚本消息dbwiki页面
1条回答
网友
1楼 · 发布于 2024-04-28 11:00:19
  1. How can I create more than one sectiontitle?

一种方法是在消息中添加\n== section title ==\n。(使用MediaWiki markup。)

  1. If I put in wiki code, how come the mediawiki doesn't format it? For example, if I make the message "# 6db oriasi nyers" then mediawiki will create a message with "# 6db oriasi nyers" instead of "1. 6db oriasi nyers".

我最好的猜测是您使用了不正确的语法,例如,#标记前有一个空格(这使文本被视为预格式化文本)。你知道吗

看不到完整的代码很难判断。你知道吗

相关问题 更多 >