Manual:Pywikibot/Wikidata/bg
Тази страница обяснява как да създадете ботове на Python в Уикиданни, използвайки основната пиуикибот библиотека.
Ако просто искате да изпълните някои скриптове, без да пишете низове на Python, вижте включените в Уикиданни скриптове.
Внимание: | Методите и резултатите могат да се променят в бъдеще, тъй като уикибазата се развива. |
Pywikibot supports lexical data objects like Lexemes with release 7.2 and above.
Конфигуриране
За да започнете да допринасяте/ тествате, използвайки вашия ботски акаунт, трябва да добавите следното към вашия user-config.py файл:
- Работен сайт
usernames['wikidata']['wikidata'] = 'YourBot'
- Тестов сайт
usernames['wikidata']['test'] = 'YourBot'
Пример
Вижте Уикиданни:Създаване на бот за разширена документация. Ядрото на pywikibot вече поддържа повечето функции на Уикибазата, напр. квалификатори, източници, свойства с елемент, координати, време и тип низ.
import pwb # нужен само ако не сте инсталирали фреймуърка като допълнителен пакет
import pywikibot
site = pywikibot.Site('wikipedia:en') # всеки сайт ще работи, това е само пример
page = pywikibot.Page(site, 'Douglas Adams')
item = pywikibot.ItemPage.fromPage(page) # Това може да се използва за всеки обект на страница
# you can also define an item like this
repo = site.data_repository() # this is a DataSite object
item = pywikibot.ItemPage(repo, 'Q42') # This will be functionally the same as the other item we defined
item.get() # you need to call it to access any data.
sitelinks = item.sitelinks
aliases = item.aliases
if 'en' in item.labels:
print('The label in English is: ' + item.labels['en'])
if item.claims:
if 'P31' in item.claims: # instance of
print(item.claims['P31'][0].getTarget())
print(item.claims['P31'][0].sources[0]) # let's just assume it has sources.
# Edit an existing item
item.editLabels(labels={'en': 'Douglas Adams'}, summary='Edit label')
item.editDescriptions(descriptions={'en': 'English writer'}, summary='Edit description')
item.editAliases(aliases={'en': ['Douglas Noel Adams', 'another alias']})
item.setSitelink(sitelink={'site': 'enwiki', 'title': 'Douglas Adams'}, summary='Set sitelink')
item.removeSitelink(site='enwiki', summary='Remove sitelink')
# Можете също така да направите всичко това едновременно:
data = {'labels': {'en': 'Douglas Adams'},
'descriptions': {'en': 'English writer'},
'aliases': {'en': ['Douglas Noel Adams', 'another alias'], 'de': ['Douglas Noel Adams']},
'sitelinks': [{'site': 'enwiki', 'title': 'Douglas Adams'}]}
item.editEntity(data, summary='Edit item')
Вижте също
- Wikidata scripts
- Wikidata:Creating a bot
- Wikidata:Pywikibot - Python 3 Tutorial
- How to interact with Wikidata via Pywikibot - a workshop by User:Mike Peel
Some bot examples
- If you need more help on setting up your Pywikibot visit the #pywikibot IRC channel connect or pywikibot@ mailing list.