2012-07-15 10 views
11

मैं IMDbAPI.com चलाता हूं और आईएमडीबी आईडी को शीर्षक खोजों से ढूंढने के लिए बिंग की खोज एपीआई का उपयोग कर रहा हूं। बिंग वर्तमान में एज़ूर मार्केटप्लेस (1 अगस्त) को अपने एपीआई को बदल रहा है और अब मुफ्त में उपलब्ध नहीं है। मैंने इन आईडी को हल करने के लिए फ्रीबीज़ का उपयोग करके अपने एपीआई का परीक्षण शुरू किया और पहले 8 घंटों में अपनी 100k सीमा को दबाया (मेरी साइट वर्तमान में लगभग 3 मिलियन अनुरोधों को प्राप्त करती है, लेकिन केवल 200-300k शीर्षक खोज हैं)फ्रीबेस: डेटा डंप फ़ाइल में "imdb_id" क्या है?

यही कारण है कि वे डेटा डंप फ़ाइलों की पेशकश करते हैं,

मैंने फिल्म फ़ोल्डर में अधिकांश फ़ाइलों को डाउनलोड किया लेकिन वे यह नहीं ढूंढ सकते कि वे "/ अथॉरिटी/आईएमडीबी/शीर्षक" आईएमडीबी आईडी नेमस्पेस डेटा कहां संग्रहीत कर रहे हैं।

https://www.googleapis.com/freebase/v1/mqlread?query={"type":"/film/film","name":"True%20Grit","imdb_id":null,"initial_release_date>=":"1969-01","limit":1}

यह कैसे मैं वर्तमान आईडी तक पहुँचने कर रहा हूँ है।

क्या किसी को पता है कि इस फ़ाइल में कौन सी फ़ाइल है? और फिल्म शीर्षक/आईडी से इसे वापस कैसे लिंक करें?

उत्तर

7

कि imdb_id संपत्ति /authority/imdb/title नाम स्थान में एक महत्वपूर्ण के द्वारा समर्थित है, तो आप लाइन के लिए देख रहे:

/m/015gxt  /type/object/key  /authority/imdb/title tt0065126 
फ़ाइल http://download.freebase.com/datadumps/latest/freebase-datadump-quadruples.tsv.bz2

4 GB फ़ाइल है कि में

, इसलिए तैयार रहें डाउनलोड के लिए थोड़ी देर इंतजार करना। ध्यान दें कि सबकुछ एमआईडी द्वारा की जाती है, इसलिए अगर आपको अपने डेटाबेस में नहीं है तो आपको इसे पहले समझना होगा।

बराबर डेटा की बजाय MQL का उपयोग कर क्वेरी उदासीनता है https://www.googleapis.com/freebase/v1/mqlread?query=%7B%22type%22%3a%22/film/film%22,%22name%22%3a%22True%20Grit%22,%22imdb_id%22%3anull,%22initial_release_date%3E=%22%3a%221969-01%22,%22mid%22:null,%22key%22:[{%22namespace%22:%22/authority/imdb/title%22}],%22limit%22:1%7D&indent=1

संपादित करें: पी एस मुझे यकीन है कि ब्राउज निर्देशिका में फाइलें दूर जा रही हैं, इसलिए यदि आप वहां जानकारी पा सकते हैं तो भी मैं उन पर निर्भर नहीं रहूंगा।

+1

मैं 4gig (33gig निकाली गई) फ़ाइल से बचने की कोशिश कर रहा था, लेकिन मैंने इसे किसी भी तरह से डाउनलोड किया और पिछले 3 घंटे इसे खोलने/पार्स करने के लिए कुछ भी खोजने का प्रयास किया। मैं माइक्रोसॉफ्ट के लॉग पार्सर 2.2 का उपयोग करके घायल हो गया जो महान काम करता था! LogParser.exe -i: टीएसवी "चयन Col1, Col4 INTO C: \ imdbList.csv से C: \ freebase.tsv जहां Col3 '% imdb/title%' की तरह है- -o: CSV -headers: OFF -iHeaderFile: "सी: \ header.txt" तो अब मेरे पास एक 3 एमबी सीएसवी फ़ाइल है जिसमें सभी फ्रीबेस आईडी और आईएमडीबी की आईडी है – bfritz

+0

अगला मुझे "फिल्म", "रिलीज वर्ष" और "एलियस" फिल्म से प्राप्त करने की आवश्यकता है। tsv "तो मैं एसक्यूएल में डेटा में शामिल हो सकता हूं ... और अंत में खोज करने में सक्षम हो :) लेकिन मैं ब्राउज फ़ोल्डर" Films.tsv "से अतिरिक्त फ़ाइल पर निर्भर हूं, क्या ये जल्द ही जा रहे हैं? – bfritz

+0

संपीड़ित फ़ाइल को संसाधित करने के लिए यह संभवतः तेज़ (और निश्चित रूप से कम डिस्क स्थान) है, इसलिए मैं इसे डिकंप्रेस नहीं करूँगा। किसी भी लिनक्स सिस्टम (या विंडोज़ पर सिग्विन) अजीब मालिकाना उपयोगिता डाउनलोड किए बिना इस trivially प्रक्रिया कर सकते हैं। समकक्ष कमांड bzgrep "प्राधिकरण/imdb/शीर्षक" freebase-datadump-quadruples.tsv.bz2 है। कट-एफ 1,4> imdbList.csv यहां तक ​​कि एक लैपटॉप पर यह 4 जीबी फ़ाइल और 4 मिनट से कम समय में आईडी के 142 के जोड़े को डीकंप्रेस और खोज सकता है। –

0

पिछले जवाब ठीक काम करता है, यह सिर्फ है कि इस तरह एक प्रश्न के एक snappier संस्करण हो सकता है:

query = [{ 
      'type': '/film/film', 
      'name': 'prometheus', 
      'imdb_id': null, 
      ... 
     }]; 

MQL शेष अनुरोध mentionned नहीं है के रूप में यह ऊपर उल्लिखित से अलग नहीं है। उम्मीद है की वो मदद करदे।

संबंधित मुद्दे