import pywikibot
from pywikibot import pagegenerators
site = pywikibot.Site('ru', 'wikipedia')
wd_site = pywikibot.Site('wikidata', 'wikidata')
def process_bagde(element_id, ru_name, en_name):
    summary = 'Add ' + en_name + ' badge for ruwiki'
    category = pywikibot.Category(site, 'Категория:Википедия:' + ru_name + ' без отметки статуса в Викиданных')
    generator = pagegenerators.CategorizedPageGenerator(category)
    for page in generator:
        title = page.title()
        print(title)
        sitelink = {'site': 'ruwiki', 'title': title, 'badges': [ element_id ]}

#         if page.namespace():
#             continue

        item = pywikibot.ItemPage.fromPage(page, True)
        if item.exists():
            item.setSitelink(sitelink=sitelink, summary=summary)
        else:
            item = pywikibot.ItemPage(wd_site)
            data = {
                'sitelinks': {
                    page.site.dbName(): sitelink
                },
                'labels': {
                    page.site.lang: {
                        'language': page.site.lang,
                        'value': title
                    }
                }
            }
            item.editEntity(data, summary=summary)
process_bagde('Q17437796', 'Избранные статьи', 'FA')
Sonic Rush Adventure
process_bagde('Q17437798', 'Хорошие статьи', 'GA')
Акимов, Анатолий Михайлович
Кейн, Роберт Генри
Луций Квинкций Фламинин
Мобуту Сесе Секо
process_bagde('Q17559452', 'Добротные статьи', 'QA')
Барбара Австрийская
Викторианская сказочная живопись
Квинт Сервилий Агала (консул 365 года до н. э.)
Кезон Фабий Вибулан
Семпрония (сестра Гракхов)
Симонс, Марк Ланселот
Уиллоуби, Кристофер, 10-й барон Уиллоуби де Эрзби
Эрскин, Чарльз
Daceton armigerum
process_bagde('Q17506997', 'Избранные списки', 'FL')
process_bagde('Q17580674', 'Избранные порталы', 'FP')