import requests
from bs4 import BeautifulSoup
import re
# Dictionary of Wikipedias and their corresponding GFDL category names
wikis = {
##GFDL
#Wikipedias
'https://af.wikipedia.org': ['Kategorie:GFDL-beelde'],
'https://als.wikipedia.org': ['Kategorie:GFDL-Bild'],
'https://an.wikipedia.org': ['Categoría:Imáchens GFDL'],
'https://ar.wikipedia.org': ['تصنيف:صور رخصة جنو', 'تصنيف:صور جنو منشأة بواسطة المستخدم', 'تصنيف:ملفات رخصة جنو للوثائق الحرة مع إخلاء المسؤولية', 'تصنيف:رخصة جنو للوثائق الحرة', 'قالب:رخصة جنو للوثائق الحرة - ثوابت', 'تصنيف:Presumed GFDL images'],
'https://arz.wikipedia.org': ['تصنيف:GFDL images'],
'https://as.wikipedia.org': ['শ্ৰেণী:জিএফডিএল চিত্ৰ', 'শ্ৰেণী:জিএফডিএল চিত্ৰ দায়লুপ্তি'],
'https://az.wikipedia.org': ['Kateqoriya:Fayl:GFDL'],
'https://bar.wikipedia.org': ['Kategorie:Datei:GFDL'],
'https://bat-smg.wikipedia.org': ['Kateguorėjė:GFDL abruozdielē'],
'https://ba.wikipedia.org': ['Категория:Файлдар:GFDL'],
'https://be-x-old.wikipedia.org': ['Катэгорыя:Вікіпэдыя:Файлы:GFDL'],
'https://be.wikipedia.org': ['Катэгорыя:Файлы:GFDL'],
'https://bh.wikipedia.org': ['श्रेणी:GFDL files with disclaimers'],
'https://bn.wikipedia.org': ['বিষয়শ্রেণী:জিএফডিএল চিত্র'],
'https://bo.wikipedia.org': ['Category:GFDL images', 'Category:GFDL-self pictures'],
'https://br.wikipedia.org': ['Rummad:GFDL images'],
'https://bs.wikipedia.org': ['Kategorija:GFDL slike'],
'https://ceb.wikipedia.org': ['Kategoriya:GFDL images'],
'https://ckb.wikipedia.org': ['پۆل:وێنەی گنو'],
'https://cy.wikipedia.org': ['Categori:Delweddau GFDL', 'Categori:Delweddau GFDL-with-disclaimers'],
'https://da.wikipedia.org': ['Kategori:GFDL-filer', 'Kategori:GFDL-filer-self'],
'https://de.wikipedia.org': ['Kategorie:Datei:GFDL'],
'https://el.wikipedia.org': ['Κατηγορία:Αρχεία GFDL'],
'https://en.wikipedia.org': ['Category:GFDL files', 'Category:User-created GFDL files', 'Category:GFDL files with disclaimers'],
'https://eo.wikipedia.org': ['Kategorio:Dosieroj sub GFDL'],
'https://et.wikipedia.org': ['Kategooria:GFDL pildid'],
'https://fa.wikipedia.org': ['رده:پروندههای تحت گنو'],
'https://fi.wikipedia.org': ['Luokka:GFDL-kuvat'],
'https://fo.wikipedia.org': ['Bólkur:GFDL'],
'https://frr.wikipedia.org': ['Kategorie:GFDL-Bild'],
'https://fur.wikipedia.org': ['Categorie:Figuris GFDL'],
'https://fy.wikipedia.org': ['Kategory:GFDL Ofbyld'],
'https://ga.wikipedia.org': ['Catagóir:Íomhánna GFDL'],
'https://gl.wikipedia.org': ['Categoría:Imaxes GFDL'],
'https://gu.wikipedia.org': ['શ્રેણી:GFDL files'],
'https://gv.wikipedia.org': ['Ronney:Jallooyn GFDL'],
'https://he.wikipedia.org': ['קטגוריה:ויקיפדיה - תמונות GFDL'],
'https://hi.wikipedia.org': ['श्रेणी:GFDL images', 'श्रेणी:GFDL images with disclaimers'],
'https://hr.wikipedia.org': ['Kategorija:GFDL slike', 'Kategorija:Slike GFDL-ja'],
'https://hsb.wikipedia.org': ['Kategorija:GFDL-wobraz'],
'https://hu.wikipedia.org': ['Kategória:GFDL-képek', 'Kategória:GFDL licencű saját képek', 'Kategória:GFDL-képek garanciakizárással', 'Kategória:GFDL licencű saját képek garanciakizárással'],
'https://hy.wikipedia.org': ['Կատեգորիա:GFDL պատկերներ', 'Կատեգորիա:Մասնակիցների ստեղծած GFDL պատկերներ'],
'https://id.wikipedia.org': ['Kategori:Berkas GFDL', 'Kategori:Gambar berlisensi bebas (GFDL) (Karya sendiri)', 'Kategori:Berkas GFDL dengan penyangkalan', 'Kategori:GFDL'],
'https://ilo.wikipedia.org': ['Kategoria:Dagiti papeles ti GFDL'],
'https://is.wikipedia.org': ['Flokkur:GFDL myndir', 'Flokkur:GFDL myndir-with-disclaimers'],
'https://it.wikipedia.org': ['Categoria:Immagini GFDL', 'Categoria:Immagini GFDL-Utente', 'Categoria:Immagini GFDL con disclaimer', 'Categoria:Immagini GFDL-Utente con disclaimer', 'Categoria:GNU Free Documentation License'],
'https://ja.wikipedia.org': ['Category:GFDL画像', 'Category:GFDL画像 (免責事項あり)', 'Category:GNU Free Documentation License'],
'https://jv.wikipedia.org': ['Kategori:Gambar kanthi lisensi mardika (GFDL)'],
'https://ka.wikipedia.org': ['კატეგორია:GFDL სურათები', 'კატეგორია:GFDL სურათები პასუხისმგელობის უარყოფით'],
'https://kk.wikipedia.org': ['Санат:GFDL суреттері'],
'https://km.wikipedia.org': ['ចំណាត់ថ្នាក់ក្រុម:GFDL images'],
'https://kn.wikipedia.org': ['ವರ್ಗ:GFDL files'],
'https://ko.wikipedia.org': ['분류:GFDL 파일'],
'https://ku.wikipedia.org': ['Kategorî:Wêneyê GFDL'],
'https://kw.wikipedia.org': ['Klass:Imajys GFDL'],
'https://lb.wikipedia.org': ['Kategorie:GFDL-Bild'],
'https://li.wikipedia.org': ['Categorie:GFDL Plaetje'],
'https://lij.wikipedia.org': ['Categorîa:File GFDL con disclaimer', 'Categorîa:File GFDL'],
'https://lmo.wikipedia.org': ['Categoria:Imàgin GFDL'],
'https://lt.wikipedia.org': ['Kategorija:GFDL paveikslėliai', 'Kategorija:GFDL-self paveikslėliai'],
'https://lv.wikipedia.org': ['Kategorija:Pēc GNU FDL licencēti attēli'],
'https://mad.wikipedia.org': ['Bhângsa:GFDL'],
'https://map-bms.wikipedia.org': ['Kategori:Gambar berlisensi bebas (GFDL) (Saya)'],
'https://mk.wikipedia.org': ['Категорија:ГЛСД-слики', 'Категорија:ГЛСД'],
'https://ml.wikipedia.org': ['വർഗ്ഗം:ജി.എഫ്.ഡി.എൽ ചിത്രങ്ങൾ', 'വർഗ്ഗം:User-created GFDL images'],
'https://mn.wikipedia.org': ['Ангилал:GFDL зургууд'],
'https://ms.wikipedia.org': ['Kategori:Fail GFDL', 'Kategori:Imej GFDL (self)'],
'https://mt.wikipedia.org': ['Kategorija:Stampi GFDL'],
'https://my.wikipedia.org': ['ကဏ္ဍ:GFDL ဖိုင်များ'],
'https://nap.wikipedia.org': ['Categurìa:Ffiure GFDL'],
'https://nds-nl.wikipedia.org': ['Kategorie:Ofbeelding met GNU/GFDL Licentie'],
'https://ne.wikipedia.org': ['श्रेणी:GFDL चित्रहरु'],
'https://nn.wikipedia.org': ['Kategori:GFDL'],
'https://nn.wikipedia.org': ['Kategori:GFDL'],
'https://oc.wikipedia.org': ['Categoria:Imatge GFDL'],
'https://or.wikipedia.org': ['ଶ୍ରେଣୀ:GFDL files'],
'https://pa.wikipedia.org': ['ਸ਼੍ਰੇਣੀ:GFDL files'],
'https://pcd.wikipedia.org': ['Catégorie:Image GFDL'],
'https://pl.wikipedia.org': ['Kategoria:Pliki na licencji GFDL'],
'https://pms.wikipedia.org': ['Categorìa:Archivi sot a licensa GFDL-Utent'],
'https://qu.wikipedia.org': ['Katiguriya:GFDL Rikcha'],
'https://ro.wikipedia.org': ['Categorie:Imagini GFDL'],
'https://ru.wikipedia.org': ['Категория:Файлы:GFDL'],
'https://sah.wikipedia.org': ['Категория:Билэлэр:GFDL'],
'https://sa.wikipedia.org': ['वर्गः:GFDL images'],
'https://sd.wikipedia.org': ['زمرو:گنو فائل'],
'https://shn.wikipedia.org': ['ပိူင်ထၢၼ်ႈ:ၾၢႆႇ GFDL'],
'https://sh.wikipedia.org': ['Kategorija:GFDL slike'],
'https://simple.wikipedia.org': ['Category:GFDL files'],
'https://si.wikipedia.org': ['ප්රවර්ගය:GFDL ගොනු', 'ප්රවර්ගය:GFDL files with disclaimers'],
'https://sl.wikipedia.org': ['Kategorija:Datoteke GFDL', 'Kategorija:GFDL'],
'https://sq.wikipedia.org': ['Kategoria:GFDL files'],
'https://sr.wikipedia.org': ['Категорија:ГФДЛ слике', 'Категорија:ГЛСД слике са одрицањем'],
'https://sw.wikipedia.org': ['Jamii:Picha za GFDL', 'Jamii:Picha za GFDL zenye makanusho'],
'https://ta.wikipedia.org': ['பகுப்பு:குனூ கட்டற்ற ஆவண உரிமப் படிமங்கள்'],
'https://tet.wikipedia.org': ['Kategoria:Imajen GFDL'],
'https://te.wikipedia.org': ['వర్గం:GFDL files', 'వర్గం:User-created GFDL files', 'వర్గం:GFDL files with disclaimers'],
'https://tg.wikipedia.org': ['Гурӯҳ:Парвандаҳо:GFDL'],
'https://th.wikipedia.org': ['หมวดหมู่:ภาพ GFDL'],
'https://tl.wikipedia.org': ['Kategorya:Mga larawan sa ilalim ng GFDL', 'Kategorya:User-created GFDL images', 'Kategorya:GFDL'],
'https://tr.wikipedia.org': ['Kategori:GÖBL dosyaları'],
'https://tt.wikipedia.org': ['Төркем:GFDL files'],
'https://uk.wikipedia.org': ['Категорія:Зображення GFDL', 'Категорія:Зображення GFDL, завантажені до Вікіпедії їх авторами'],
'https://ur.wikipedia.org': ['زمرہ:تصاویر گنو'],
'https://vec.wikipedia.org': ['Categoria:Files GFDL'],
'https://vi.wikipedia.org': ['Thể loại:Hình dưới GFDL', 'Thể loại:Hình GFDL do người dùng tạo ra', 'Thể loại:Hình dưới GFDL với phủ nhận', 'Thể loại:Hình đoán là GFDL'],
'https://war.wikipedia.org': ['Kaarangay:Mga imahe ha ilarom han GFDL'],
'https://wa.wikipedia.org': ['Categoreye:Imådjes GFDL'],
'https://yi.wikipedia.org': ['קאַטעגאָריע:GFDL images', 'קאַטעגאָריע:GFDL'],
'https://zh-min-nan.wikipedia.org': ['Lūi-pia̍t:GFDL iáⁿ-siōng'],
'https://zh-yue.wikipedia.org': ['Category:GFDL圖像'],
'https://zh.wikipedia.org': ['Category:GFDL檔案'],
#Wikibooks
'https://bg.wikibooks.org': ['Категория:Картинки с лиценз GFDL'],
'https://de.wikibooks.org': ['Kategorie:GFDL-Bild'],
'https://en.wikibooks.org': ['Category:Presumed GFDL images'],
'https://fi.wikibooks.org': ['Luokka:GFDL-kuvat'],
'https://hr.wikibooks.org': ['Kategorija:GFDL slike'],
'https://hu.wikibooks.org': ['Kategória:GFDL'],
'https://id.wikibooks.org': ['Kategori:Gambar berlisensi bebas (GFDL)'],
'https://it.wikibooks.org': ['Categoria:Immagini GFDL'],
'https://ja.wikibooks.org': ['カテゴリ:GFDL画像'],
'https://lt.wikibooks.org': ['Kategorija:GFDL paveikslėliai'],
'https://nl.wikibooks.org': ['Categorie:GFDL afbeeldingen'],
'https://pl.wikibooks.org': ['Kategoria:Grafika GFDL'],
'https://sv.wikibooks.org': ['Kategori:Bilder med GFDL-licens'],
'https://zh.wikibooks.org': ['Category:GFDL圖像'],
# Wikinews
'https://ar.wikinews.org': ['تصنيف:صور رخصة جنو', 'قالب:رخصة جنو للوثائق الحرة - ثوابت'],
'https://en.wikinews.org': ['Category:GFDL'],
'https://it.wikinews.org': ['Categoria:Immagini GFDL-Utente'],
#Wikiquote
'https://hu.wikiquote.org': ['Kategória:GFDL képek'],
'https://ja.wikiquote.org': ['カテゴリ:GFDL画像'],
'https://ko.wikiquote.org': ['분류:GFDL 그림'],
'https://pt.wikiquote.org': ['Categoria:Imagens GFDL'],
'https://ro.wikiquote.org': ['Categorie:Imagini GFDL'],
#Wikisource
'https://bg.wikisource.org': ['Категория:Картинки с лиценз GFDL'],
'https://es.wikisource.org': ['Categoría:Wikisource:GFDL'],
'https://he.wikisource.org': ['קטגוריה:ויקיטקסט - תמונות GFDL'],
'https://hu.wikisource.org': ['Kategória:GFDL'],
'https://it.wikisource.org': ['Categoria:Immagini GFDL'],
'https://ru.wikisource.org': ['Категория:Файлы:GFDL'],
'https://sl.wikisource.org': ['Kategorija:Slike z dovoljenjem GFDL'],
#Wikiversity
'https://ar.wikiversity.org': ['تصنيف:صور رخصة جنو', 'قالب:رخصة جنو للوثائق الحرة - ثوابت', 'تصنيف:صور جنو'],
'https://de.wikiversity.org': ['Kategorie:GFDL-Bild'],
'https://el.wikiversity.org': ['Κατηγορία:Αρχεία GFDL'],
'https://en.wikiversity.org': ['Category:GFDL files', 'Category:Presumed GFDL images'],
'https://it.wikiversity.org': ['Categoria:Immagini GFDL'],
'https://ru.wikiversity.org': ['Категория:Файлы:GFDL'],
#Wikivoyage
'https://en.wikivoyage.org': ['Category:GFDL files', 'Category:GFDL-self-en files'],
#Wiktionary
'https://bg.wiktionary.org': ['Категория:Картинки с лиценз GFDL'],
'https://eo.wiktionary.org': ['Kategorio:Bildo sub GFDL'],
'https://ga.wiktionary.org': ['Catagóir:Íomhánna GFDL'],
'https://ko.wiktionary.org': ['분류:GFDL-그림'],
'https://la.wiktionary.org': ['Categoria:Imagines sub GFDL'],
'https://ro.wiktionary.org': ['Categorie:Imagini GFDL'],
'https://te.wiktionary.org': ['వర్గం:GFDL బొమ్మలు'],
'https://vi.wiktionary.org': ['Thể loại:Hình được phát hành theo GFDL'],
#Multilingual sites
'https://commons.wikimedia.org': ['Category:GFDL', 'Category:User-created GFDL images', 'Category:GFDL-disclaimers'],
'https://foundation.wikimedia.org': ['Category:GFDL images'],
'https://meta.wikimedia.org': ['Category:Presumed GFDL images'],
}
for wiki, categories in wikis.items():
for category in categories:
# Construct the URL of the GFDL category page
url = f'{wiki}/wiki/{category}'
try:
# Send a GET request to the page
response = requests.get(url)
except requests.exceptions.ConnectionError:
print(f'Could not connect to {wiki}.')
continue
# Parse the page content with BeautifulSoup
soup = BeautifulSoup(response.content, 'html.parser')
# Find the element that contains the number of files in the category
file_count_element = soup.find('div', id='mw-category-media')
# Check if file_count_element is None
if file_count_element is None:
print(f'{wiki} category {category} has 0 GFDL files.')
continue
# Remove commas and periods from the text
text = file_count_element.p.text.replace(',', '').replace('.', '')
# Check if the text contains the category name
if category in text:
file_count = 1
else:
# Extract all numbers from the text
numbers = re.findall(r'\d+', text)
# Convert the numbers to integers
numbers = [int(number) for number in numbers]
# Check if any numbers were found
if not numbers:
print(f'{wiki} category {category} has 0 GFDL files.')
continue
# Find and print the largest number
file_count = max(numbers)
print(f'{wiki} category {category} has {file_count} GFDL files.')