आप तीन भागों की शृंखला का तीसरा भाग पढ़ रहे हैं। यह अत्यधिक प्रोत्साहित किया जाता है कि आप इस भाग पर आगे बढ़ने से पहले पिछले दो लेख पढ़ें! फ़्लिक्स-फाइंडर [भाग 1/3] फ़्लिक्स-फाइंडर [भाग 2/3] पिछले ब्लॉग के अंत तक, फ़्लिक्स-फाइंडर ने विभिन्न एजेंसियों के रेटिंग मापदंडों के आधार पर मूवी खोजों का समर्थन किया। हमारे ऐप की कार्यक्षमता उम्मीदों पर खरी उतरी और अपना इच्छित कार्य हासिल किया। लेकिन कुछ समय बाद, फ़्लिक्स-फाइंडर के ग्राहकों को शिकायत होने लगी कि ऐप फिल्मों के बारे में नवीनतम जानकारी प्रदान नहीं करता है। क्योंकि फ़्लिक्स-फ़ाइंडर स्थिर डेटा का उपयोग करता है, यह ऐसी चीज़ है जिसका हम अनुमान लगाते हैं। फ़्लिक्स-फाइंडर को कुछ प्रक्रिया की आवश्यकता है जिसके माध्यम से नई फिल्मों को प्रतिबिंबित करने के लिए इसके मूवी डेटा को अपडेट किया जा सके। और, यह कुछ ऐसा है जिसे हम इस अंतिम भाग में लागू करेंगे! इस तथ्य के बावजूद कि इस कार्यक्षमता को लागू करने के कई तरीके हैं, हम एक नया एंडपॉइंट बनाएंगे जिसका उपयोग डेटा को अपडेट करने के लिए किया जा सकता है। आपका डेटा तुरंत बदल जाएगा, जैसे कि जब आप कोई बटन दबाते हैं। लेकिन अन्य रणनीतियाँ भी हैं, जैसे क्रोनजॉब का उपयोग करना। एक बार इस ब्लॉग में एक रणनीति की बारीकियों का वर्णन किया गया है, तो समान अवधारणाओं का उपयोग करके कोई भी नई तकनीक आसानी से बनाई जा सकती है। इसकी पूरी योजना बना रहे हैं... इससे पहले कि हम कोड करना शुरू करें, आइए एक कदम पीछे हटें और अपनी सभी आवश्यकताओं को समझें। हम एक नया एंडपॉइंट बनाना चाहते हैं और उस एंडपॉइंट पर जाकर फ़्लिक्स-फाइंडर द्वारा उपयोग किए जाने वाले डेटा को अपडेट करना चाहिए। आइए हम एंडपॉइंट का उपयोग करें और इस एंडपॉइंट पर आने वाले किसी भी हमारे ऐप द्वारा उपयोग किए जाने वाले डेटा को अपडेट करना चाहिए। /update GET अनुरोध को इंटरफ़ेस की योजना के साथ, आइए अब ' ' के बारे में सोचें। . डेटा को कैसे अपडेट करें? ' डेटा अपडेट करने की प्रक्रिया को तीन चरणों में विभाजित किया जा सकता है: (1) कलेक्टर्स को ब्राइट डेटा पर पुनः चलाएँ (2) कलेक्टर को चलाने से प्राप्त परिणाम प्राप्त करें (3) परिणामों को स्थिर फ़ाइलों पर अधिलेखित करें पहले दो चरणों के लिए, हम ब्राइट डेटा द्वारा प्रदान की गई एपीआई का उपयोग कर सकते हैं। एक बार हमारे पास डेटा हो जाने पर, हम मौजूदा स्थिर फ़ाइलों को अधिलेखित करने के लिए वेनिला पायथन का उपयोग कर सकते हैं। महान! सब कुछ योजनाबद्ध करके, आइए कार्यान्वयन शुरू करें। फ़्लिक्स-फाइंडर में नया समापन बिंदु जोड़ा जा रहा है में अनुशंसाकर्ता ऐप की फ़ाइल के अंदर एक नई विधि बनाकर प्रारंभ करें। हम इस विधि को कहेंगे। यहीं पर स्थैतिक डेटा को अद्यतन करने का हमारा सारा तर्क निहित होगा। Django view.py updateData # recommender/views.py def update(request): # TODO: Implement this method return HttpResponse("Movie Data Updated!") आइए हम भी अपने विचार स्थापित करें। हमें दृश्यों में नव निर्मित विधि के लिए मैपिंग जोड़ने की आवश्यकता है। # recommender/urls.py from django.urls import path from . import views urlpatterns = [ path("", views.index, name = "index"), path("update", views.updateData, name = "update data") ] इसके साथ, हमने फ़्लिक्स-फाइंडर में सफलतापूर्वक एक नया एंडपॉइंट बनाया है। हम स्थैतिक डेटा को अद्यतन करने के लिए इस समापन बिंदु का उपयोग करेंगे। अभी के लिए, यह समापन बिंदु कुछ नहीं करता है और बस एक स्ट्रिंग संदेश लौटाता है। ➜ ~ curl localhost:8000/update Movie Data Updated! ब्राइट डेटा पर एपीआई टोकन जनरेट करना इससे पहले कि हम डेटा अपडेट के लिए ब्राइट डेटा एपीआई का उपयोग शुरू कर सकें, हमें एक एपीआई टोकन जेनरेट करना होगा। ब्राइट डेटा के सभी संचारों में यह टोकन शामिल होना चाहिए और इसका उपयोग प्रमाणीकरण उद्देश्यों के लिए किया जाता है। एपीआई टोकन जनरेट करने के चरण: पर जाएं। https://brightdata.com/cp/setting एपीआई टोकन अनुभाग में, बटन पर क्लिक करें। Add Token संवाद बॉक्स में, उपयोगकर्ता, अनुमति और समाप्ति तिथि का चयन करें। सेव बटन पर क्लिक करें और 2FA कोड दर्ज करें। जेनरेट किए गए टोकन को कॉपी करें और सुरक्षित रूप से रखें। सुनिश्चित करें कि आपका एपीआई टोकन लीक न हो। आपके एपीआई टोकन तक पहुंच रखने वाला कोई भी व्यक्ति सचमुच ब्राइट डेटा पर आपकी नकल कर सकता है!!! एक बार एपीआई टोकन उत्पन्न हो जाने के बाद, हम कलेक्टरों को चलाने और कलेक्टर रन से डेटा लाने के लिए एपीआई का उपयोग शुरू करने के लिए तैयार हैं। संग्राहकों को आरंभ करने के लिए एपीआई अपने संग्राहकों के एपीआई अनुभाग द्वारा आरंभ करें पर जाएं। यहां आपको कर्ल अनुरोध मिलेंगे जिनका उपयोग आप कलेक्टरों को फिर से चलाने और परिणाम लाने के लिए कर सकते हैं। ब्राइट डेटा कलेक्टर रन शुरू करने के लिए एक समापन बिंदु प्रदान करता है। समापन बिंदु एक POST अनुरोध की अपेक्षा करता है। यह एक क्वेरी पैरामीटर ' ' की भी अपेक्षा करता है जिसका उपयोग कलेक्टर की विशिष्ट पहचान के लिए किया जाता है। हेडर में एपीआई टोकन होना चाहिए। कलेक्टर रन शुरू करने के लिए एपीआई: https://api.brightdata.com/dca/trigger_immediate कलेक्टर यहाँ उसी के लिए कर्ल अनुरोध है। curl -H "Authorization: Bearer API_TOKEN" -H "Content-Type: application/json" -d '{}' "https://api.brightdata.com/dca/trigger_immediate?collector=c_rj3i0wspnhr0ataba" इस समापन बिंदु की प्रतिक्रिया एक प्रतिक्रिया आईडी है। इसका उपयोग बाद में परिणाम प्राप्त करने के लिए किया जा सकता है। कलेक्टर चलाने से प्राप्त प्रतिक्रिया आईडी के साथ, ब्राइट डेटा हमें कलेक्टर रन से परिणाम लाने के लिए एक और एपीआई प्रदान करता है। समापन बिंदु एक GET अनुरोध की अपेक्षा करता है। यह एक क्वेरी पैरामीटर 'रिस्पॉन्स_आईडी' की भी अपेक्षा करता है जिसका उपयोग कलेक्टर को विशिष्ट रूप से पहचानने के लिए किया जाता है। हेडर में एपीआई टोकन होना चाहिए। कलेक्टर रन से परिणाम लाने के लिए एपीआई: https://api.brightdata.com/dca/get_result इस समापन बिंदु के लिए कर्ल अनुरोध इस प्रकार दिखेगा। curl "https://api.brightdata.com/dca/get_result?response_id=RESPONSE_ID" -H "Authorization: Bearer API_TOKEN" अद्यतन समापन बिंदु को कार्यान्वित करना उपयोग के लिए एंडपॉइंट के ज्ञान और एपीआई टोकन के साथ, हम अपडेट एंडपॉइंट को लागू करना शुरू कर सकते हैं। आइए इस समापन बिंदु को उन उप-कार्यों के अनुसार लागू करें जिन्हें हमने शुरू में पहचाना था। (1) कलेक्टर्स को ब्राइट डेटा पर पुनः चलाएँ (2) कलेक्टर को चलाने से प्राप्त परिणाम प्राप्त करें (3) परिणामों को स्थिर फ़ाइलों पर अधिलेखित करें सबसे पहले हमें री-रन कलेक्टर एपीआई का उपयोग करना होगा और एक प्रतिक्रिया आईडी प्राप्त करनी होगी। हम इस कार्य को करने के लिए पायथन की अनुरोध लाइब्रेरी का उपयोग करेंगे। API_TOKEN = "###########" # Replace by your API Token response = requests.post( "https://api.brightdata.com/dca/trigger_immediate?collector=c_rj3i0wspnhr0ataba", headers={"Authorization": f"Bearer {API_TOKEN}", "Content-Type": "application/json"}, json={} ) if response.status_code < 200 or response.status_code > 299 or 'response_id' not in response.json(): return HttpResponseServerError('Something Wrong Happened') response_id = response.json().get('response_id') अगला चरण परिणाम प्राप्त करने के लिए प्रतिक्रिया आईडी का उपयोग करना है। परिणाम प्राप्त करने का प्रयास करने से पहले हम कुछ समय तक प्रतीक्षा करेंगे। time.sleep(30) # Sleeping for 30 seconds get_results_response = requests.get( f"https://api.brightdata.com/dca/get_result?response_id={response_id}", headers={"Authorization": f"Bearer {API_TOKEN}"} ) हाथ में डेटा होने पर, हम इस नए डेटा के साथ स्थिर फ़ाइल को अधिलेखित कर सकते हैं। movie_data = get_results_response.json() data_file = open(ROTTEN_TOMATO_DATA_FILE_PATH, encoding="utf8", mode="w") json.dump(movie_data, data_file, indent=4) data_file.close() इसके साथ ही अद्यतन पद्धति का कार्यान्वयन पूरा हो गया है। नए समापन बिंदु का उपयोग करना डेटा अपडेशन प्रक्रिया शुरू करने के लिए एंडपॉइंट पर एक सरल कर्ल अनुरोध किया जा सकता है। एक बार एपीआई वापस आ जाए, तो डेटा अपडेट हो जाएगा। localhost:8000/update ➜ ~ curl localhost:8000/update Movie Data Updated! समापन टिप्पणी अंततः, हम इस खंड के निष्कर्ष पर पहुँच गये हैं। फ़्लिक्स-फाइंडर में, हम डेटा अपडेटिंग कार्यक्षमता को एकीकृत करने में सक्षम थे। परिणामस्वरूप, हमारा फ़्लिक्स-फाइंडर अपने उपयोगकर्ताओं के लिए हमेशा ताज़ा डेटा के साथ उपलब्ध रहेगा! मुझे आशा है कि आपको तीन भाग वाली श्रृंखला पसंद आयी होगी। इस संपूर्ण संग्रह का स्रोत कोड शामिल है। Github रिपॉजिटरी में ऐसे और भी अद्भुत लेखों के लिए आप सकते हैं। अगले लेख में मिलते हैं... तब तक, हैप्पी लर्निंग! 🙂 मुझे HackerNoon पर फ़ॉलो कर