1

我最近学会了如何从烹饪网站上抓取我妈妈的食谱。我目前的目标是将这些食谱放入自托管的 mediawiki 服务器。由于我只知道 python,我正在尝试使用 GET 和 POST 请求以及 API 来创建这些页面。我已经尝试了各种 python 脚本,例如 pywikibot、mwclient 和 wptools,以取得各种形式的成功。后两者在编辑/创建 wiki 页面时确实缺乏文档,并且 pywikibot 有一些错误(已报告)阻止我登录或使用 pagefromfile.py 脚本。

幸运的是, mediawiki 网站上有一个示例 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'

此代码创建一个包含相关部分和消息的页面,如下所示

问题:

  1. 如何创建多个节标题?
  2. 如果我输入 wiki 代码,为什么 mediawiki 不格式化它?例如,如果我发送消息“# 6db oriasi nyers”,那么 mediawiki 将创建一条带有“# 6db oriasi nyers”而不是“1. 6db oriasi nyers”的消息。
4

1 回答 1

2
  1. 如何创建多个节标题?

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

  1. 如果我输入 wiki 代码,为什么 mediawiki 不格式化它?例如,如果我发送消息“# 6db oriasi nyers”,那么 mediawiki 将创建一条带有“# 6db oriasi nyers”而不是“1. 6db oriasi nyers”的消息。

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

没有看到你的完整代码很难说。

于 2018-06-07T05:56:15.403 回答