دليل:باي ويكي بوت/ويكي بيانات

This page is a translated version of the page Manual:Pywikibot/Wikidata and the translation is 96% complete.
Other languages:
Bân-lâm-gú • ‎English • ‎Nederlands • ‎Tagalog • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎Ελληνικά • ‎български • ‎русский • ‎українська • ‎العربية • ‎中文 • ‎日本語 • ‎한국어

هذه الصفحة تشرح كيفية إنشاء بوتات بايثون على ويكي بيانات باستخدام مكتبة باي ويكي بايثون أساسية.

إن كنت تريد فقط تشغيل بعض النصوص البرمجية دون كتابة سطر من لغة البايثون، انظر نصوص ويكي بيانات البرمجية المدرجة.

تحذير! تحذير: الطرق والنتائج قد تتغير مستقبلاً، بتطور قاعدة ويكي.
pywikibot currently does not support lexical data objects like Lexemes. Use WikibaseIntegrator or LexData to edit those instead.

الإعداد

للبدء في المشاركة أو الاختبار باستخدام حساب البوت الخاص بك يجب أن تضيف الآتي إلى ملف user-config.py:

موقع الإنتاج
usernames['wikidata']['wikidata'] = 'YourBot'
موقع الاختبار
usernames['wikidata']['test'] = 'YourBot'

مثال

انظر إنشاء بوت لتوثيق مفصل. نواة باي ويكي بوت تدعم معظم ميزات قاعدة ويكي بالفعل، على سبيل المثال، التصفيات والمصادر والخصائص بالعنصر والإحداثي والوقت ونوع سلسلة الحروف.

import pwb  # مطلوبة فقط إن لم تكن قد قمت بتثبيت النظام على أنه حزمة جانبية
import pywikibot
site = pywikibot.Site('en', 'wikipedia')  # أي موقع سيعمل، هذا فقط مثال
page = pywikibot.Page(site, 'Douglas Adams')
item = pywikibot.ItemPage.fromPage(page)  # يمكن استخدام هذا لأي كائن صفحة
# يمكنك تعريف عنصر هكذا
repo = site.data_repository()  # هذا كائن موقع بيانات
item = pywikibot.ItemPage(repo, 'Q42')  # سيكون هذا وظيفيًا مثل العنصر الآخر الذي قمنا بتعريفه
item.get()  # أنت بحاجة إلى استدعائه للوصول إلى أي بيانات
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])  # لنفترض فقط أنه لديه مصادر.

# تعديل عنصر موجود
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')

انظر أيضا

بعض أمثلة البوتات


لو كنت بحاجة لمساعدة في إعداد بوت Pywikibot الخاص بك، يرجى زيارة قناة #pywikibot على آي آر سي تواصل أو القائمة البريدية pywikibot@.