Как использовать Mediawiki API для создания страниц с длинными текстами и списками в Python - PullRequest
0 голосов
/ 06 июня 2018

Я недавно узнал, как черпать рецепты моей мамы с кулинарного сайта.Моя текущая цель - поместить эти рецепты в самодостаточный медиа-сервер.Поскольку все, что я знаю, это Python, я пытаюсь использовать GET и POST-запросы и API для создания этих страниц.Я пробовал разные скрипты на python, такие как pywikibot, mwclient и wptools для разных форм успеха.Документация действительно отсутствует для последних двух, когда дело доходит до редактирования / создания вики-страниц, и у pywikibot есть некоторые ошибки (о которых сообщается), которые мешают мне войти в систему или использовать скрипт pagefromfile.py.

К счастью, естьПример кода Python на сайте MediaWiki .

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. Как создать более одного заголовка раздела?
  2. Если я добавлю вики-код, почему медиа-вики его не отформатируют?Например, если я сделаю сообщение «# 6db oriasi nyers», то mediawiki создаст сообщение с «# 6db oriasi nyers» вместо «1. 6db oriasi nyers».

1 Ответ

0 голосов
/ 07 июня 2018
  1. Как создать более одного заголовка раздела?

Одним из способов было бы добавить \n== section title ==\n к сообщению.(Использование MediaWiki-разметки .)

Если я добавлю код вики, почему медиа-вики его не отформатируют?Например, если я сделаю сообщение «# 6db oriasi nyers», то mediawiki создаст сообщение с «# 6db oriasi nyers» вместо «1. 6db oriasi nyers».

MyЛучше всего предположить, что вы используете неправильный синтаксис, например, перед знаком # есть пробел (из-за чего текст будет считаться предварительно отформатированным).

Трудно сказать, не увидев полный код.

...