2011-09-17 14 views
12

मैं कम से विकी कॉमन्स के लिए विकिमीडिया एपीआई का उपयोग करने की कोशिश कर रहा हूँ:पुन: प्राप्त छवि लाइसेंस और विकी कॉमन्स में लेखक की जानकारी

http://commons.wikimedia.org/w/api.php 

यह कॉमन्स एपीआई बहुत अपरिपक्व है और उनके document that mentions the possibility में हिस्सा लाइसेंस पुनः प्राप्त करने की तरह लगता है और लेखक की जानकारी खाली है।

क्या वैसे भी मैं अनुच्छेद पुनर्प्राप्त कर सकता हूं जिसमें API का उपयोग करके लाइसेंसिंग के बारे में जानकारी शामिल है? (उदाहरण के लिए, "लाइसेंसिंग" शीर्षक के तहत अनुच्छेद at this page)। बेशक मैं पूरा पेज डाउनलोड कर सकता हूं और इसे पार्स करने का प्रयास कर सकता हूं, लेकिन एपीआई क्या हैं?

उत्तर

3

आप Wikimedia Toolserver पर Magnus Manske's Commons API tool का उपयोग करने का प्रयास कर सकते हैं। यह एक आधिकारिक सेवा नहीं है, और प्रलेखन अपेक्षाकृत कमजोर प्रतीत होता है (जो कहने वाला है, लगभग nonexistent), लेकिन XML output सुंदर आत्म-व्याख्यात्मक लगता है।

मुझे मैग्नस की स्क्रिप्ट के लिए कहीं भी स्रोत नहीं मिल रहा है, लेकिन मुझे लगता है कि यह categories फ़ाइल से संबंधित लाइसेंसिंग जानकारी निकालती है। यदि आप चाहते थे, तो आप इसे स्वयं कर सकते हैं: केवल श्रेणियों की सूची प्राप्त करें और यदि आवश्यक हो, तो श्रेणी पेड़ पर जाएं जब तक आपको license category पता न लगे। हां, पेड़-चलने वाले भाग में एकाधिक एपीआई अनुरोध या कॉमन्स श्रेणियों का डेटाबेस होना आवश्यक है (या तो टूलरवर पर लाइव एक्सेस, या database dumps से पुनर्निर्मित प्रति)।

हाँ, मुझे एहसास है कि यह उत्तर असंतोषजनक प्रतीत हो सकता है। तथ्य यह है कि मैग्नस की स्क्रिप्ट वर्तमान में मौजूदा चीज़ों की सबसे नज़दीकी चीज है जो आप चाहते हैं, और यहां तक ​​कि इसे प्रयोगात्मक और अपूर्ण के रूप में चिह्नित किया गया है। असल में, यह किसी समस्या के लिए किसी (बेहतर) समाधान को लागू करने में एक समस्या है।

+0

ऐसा लगता है कि उपकरण नीचे है, क्या कोई इसकी पुष्टि कर सकता है? – user5950

+0

@ user5950: हाँ, मेरे लिए भी नीचे लगता है। –

+0

तो, अगर कोई एक अच्छा विकल्प के बारे में पता लगाता है, तो कृपया हमें बताएं! – user5950

1

मैंने Magnus' Commons API tool का उपयोग किया है। इसे सिर्फ एक प्रोजेक्ट में गिराए जाने के लिए डिज़ाइन नहीं किया गया है, लेकिन यदि आप विकी पेज के स्रोत की प्रतिलिपि बनाते हैं तो यह स्थानीय रूप से कॉल और कैश करता है, फिर तर्क को उस वर्ग में ले जाएं जिसे आप इसे आसानी से कॉल करने योग्य बना सकते हैं। Here's the source for Magnus' version। यदि आप चाहते हैं कि मैंने जिस वर्ग से बनाया है, उसे मुझे बताएं और मैं इसे खोद दूंगा।

-3

पृष्ठ देखें: http://www.mediawiki.org/wiki/API:Meta

आप foreach छवि का उपयोग कर सकते हैं टैग 'मेटा = siteinfo' और टैग 'siprop = rightsinfo' (siprop siteinfo की प्रॉप है) तो फिर तुम से rightsinfo देखेंगे चित्र।

ब्रैड पिट की आपके मामले में यह होगा की तरह:

http://en.wikipedia.org/w/api.php?format=jsonfm&action=query&titles=File:Brad_Pitt_at_Incirlik2.jpg&prop=imageinfo&iiprop=url&meta=siteinfo&siprop=rightsinfo

+0

यह सही नहीं है। 'siteinfo' साइट के बारे में जानकारी देता है, छवि नहीं। उदाहरण के लिए, यदि आप [फ़ाइल: Flag_of_the_United_Kingdom.svg] (http://en.wikipedia.org/wiki/File:Flag_of_the_United_Kingdom.svg) के लिए पृष्ठ देखते हैं, तो आप इसे सार्वजनिक डोमेन के रूप में लाइसेंस प्राप्त करेंगे। हालांकि, आपके द्वारा प्रदान की गई क्वेरी में इस फ़ाइल का उपयोग करने से पता चलता है कि पृष्ठ (छवि नहीं) को क्रिएटिव कॉमन्स के रूप में लाइसेंस प्राप्त है। यह छवि के बारे में कोई जानकारी नहीं देता है। – ishmael

+0

ठीक है, वे गलत हैं। – Bvbever

+0

Bvbever सही है, यह छवियों के लिए काम नहीं करता है। –

1

http://www.mediawiki.org/wiki/API_talk:Main_page#Image_license_information से वहाँ एक रास्ता एपीआई के माध्यम से एक छवि का लाइसेंस पाने के लिए है? श्रेणी के अनुसार साइट सबसे आसान है, यह मानते हुए कि साइट लाइसेंस द्वारा वर्गीकृत है। हालांकि लाइसेंस की जानकारी के लिए मॉड्यूल में कोई निर्मित नहीं है। Splarka 08:45, 22 जनवरी 2010 (यूटीसी)

हालांकि, मुझे लगता है कि श्रेणियों का उपयोग करके कई छवियों के लिए कुछ भी वापस नहीं आता है, भले ही उनके पास लाइसेंस निर्दिष्ट है। हो सकता है कि छवि पृष्ठ के प्रस्तुत एचटीएमएल को पार्स करने का सबसे अच्छा तरीका है।

13

देर जवाब लेकिन आप निम्न क्वेरी के साथ "extmetadata" डेटा का अनुरोध कर सकते हैं: imageinfo.extmetadata तहत

http://en.wikipedia.org/w/api.php?action=query&prop=imageinfo&iiprop=extmetadata&titles=File%3aBrad_Pitt_at_Incirlik2.jpg&format=json

देखो।UsageTerms, कलाकार, क्रेडिट, आदि

+2

यह सही जवाब है। आसान सत्यापन के लिए प्रारूप jsonfm का उपयोग करें: http://en.wikipedia.org/w/api.php?action=query&prop=imageinfo&iiprop=extmetadata&titles=File%3aBrad_Pitt_at_Incirlik2.jpg&format=jsonfm –