我浏览了维基百科上的活人类别,并收集了页面图像。问题是,一些图像存储在 wikimedia commons 站点上,而一些图像存储在原始 wikipedia:en 站点上。我想知道图像的存储位置(如果它存储在除 en:wiki 和 commons 之外的其他地方)
import pywikibot
enwiki = pywikibot.Site("en", "wikipedia")
commons = pywikibot.Site("commons","commons")
page1 = pywikibot.Page(enwiki, "50 Cent")
page2 = pywikibot.Page(enwiki, "0010x0010")
pageimage1 = page1.page_image()
pageimage2 = page2.page_image()
pageimage1.exists() //outputs False (50 Cent page image is stored on commons)
pageimage2.exists() //outputs True (0010x0010 page imaged is stored on wikipedia:en)
这很好,如果维基百科 .exists() 输出 False,我可以检查公共资源,但我担心图像会存储在不同站点上的情况。
我已经尝试过 Page.image_repository 属性,但是即使页面图像不存在并且存储在 wikipedia:en 上,它也会返回 commons
有没有办法从 Page 对象中获取原始站点?因为我知道这可能的唯一方法是下载 HTML 页面并解析它,这太复杂了。