নোড.জেএস + ইনস্টাগ্রাম ওয়েব এপিআইয়ের সাথে ইনস্টাগ্রাম পোস্টের বাগদানের হার গণনা করুন

অবচিত: এই এপিআই ইনস্টাগ্রাম দ্বারা অক্ষম করা হয়েছে (2018 এপ্রিল 12)

এমন একটি ওয়েব অ্যাপ তৈরি করতে শিখুন যেখানে ব্যবহারকারীরা একটি ব্যবহারকারীর নাম টাইপ করতে পারেন এবং ইনস্টাগ্রাম পোস্টের বাগদানের হার পেতে পারেন।

প্রাক-প্রকল্পের সেটআপ

নোড.জেএস: নোড ডাউনলোড এবং ইনস্টল করতে অফিসিয়াল নোড.জেএস ওয়েবসাইটে যান।

প্রকল্প সেটআপ

আমরা শুরু করার আগে, এই প্রকল্পের সমস্ত কোড গিটহাব রেপোতে পাওয়া যাবে

  1. "ইনস্টাগ্রাম-এনগেজমেন্ট-রেট" নামে একটি খালি ডিরেক্টরি তৈরি করুন।
  2. আপনার কনসোলটি খুলুন, আমাদের নতুন ডিরেক্টরিতে নেভিগেট করুন এবং "এনপিএম ইন" চালান
  3. আমাদের প্রকল্প শুরু করার জন্য প্রয়োজনীয় তথ্য পূরণ করুন।
  4. আমাদের "ইনস্টাগ্রাম-এনগেজমেন্ট-রেট" ডিরেক্টরিতে, "app.js" নামে একটি ফাইল তৈরি করুন - এই ফাইলটিতে আমাদের আবেদনের কোড থাকবে।

এখন আমাদের সব ধাঁধা টুকরো রয়েছে, আমরা বিল্ডিং শুরু করতে পারি!

আমাদের সার্ভার তৈরি করা হচ্ছে (এক্সপ্রেস জেএস সহ)

আমাদের প্রথমে যা করা দরকার তা হ'ল আমাদের সার্ভারটি আপ এবং চলমান। আমরা এটি সম্পাদন করতে এক্সপ্রেস ব্যবহার করব। এক্সপ্রেস নোড.জেএস এর জন্য একটি সর্বনিম্ন ওয়েব ফ্রেমওয়ার্ক - এক্সপ্রেস নোড দিয়ে একটি ওয়েব সার্ভার তৈরি এবং চালানো খুব সহজ করে তোলে।

এক্সপ্রেস ব্যবহার করতে, এটি কনসোলে ইনস্টল করুন:

এনপিএম এক্সপ্রেস - সেভ ইনস্টল করুন

একবার ইনস্টল হয়ে গেলে, আমরা এক্সপ্রেস ডকুমেন্টেশন থেকে বয়লারপ্লেট এক্সপ্রেস স্টার্টার অ্যাপটি অনুলিপি করতে চলেছি:

কনস্ট এক্সপ্রেস = প্রয়োজনীয় ('এক্সপ্রেশন'); কনট অ্যাপ = এক্সপ্রেস ();
app.get ('/', ফাংশন (req, res) {res.send ('হ্যালো ওয়ার্ল্ড!');});
app.listen (3000, ফাংশন () {কনসোল.লগ ('3000 পোর্টে উদাহরণস্বরূপ অ্যাপ শোনাচ্ছে!');});

উপরে আমরা এক্সপ্রেস দিয়ে তৈরি করতে পারি এমন সহজ অ্যাপ্লিকেশনটির একটি উদাহরণ। প্রথমে আমাদের এক্সপ্রেস প্যাকেজটি প্রয়োজন যা সদ্য ইনস্টল করা হয়েছিল। তারপরে, আমরা এক্সপ্রেস চালু করে একটি অ্যাপ্লিকেশন নামের অ্যাপ তৈরি করি।

`App.get ('/'…`) এর অর্থ আমরা বিশেষভাবে রুট URL (/) এ ফোকাস করছি we

`App.listen (…` দেখায় যে আমরা একটি সার্ভার তৈরি করছি যা সংযোগের জন্য 3000 পোর্টে শোনা যাচ্ছে।

আমরা চালিয়ে আমাদের সার্ভারটি পরীক্ষা করতে পারি:

নোড অ্যাপ.জেএস // উদাহরণস্বরূপ অ্যাপটি 3000 পোর্টে শোনা যাচ্ছে!

এখন আপনার ব্রাউজারটি খুলুন এবং দেখুন: `লোকালহোস্ট: 3000` এবং আপনার হ্যালো ওয়ার্ল্ডটি দেখতে হবে!

সূচী দর্শন স্থাপন করা হচ্ছে

যখন কেউ আমাদের মূল রুটটিতে যান তখন পাঠ্যের সাথে প্রতিক্রিয়া না দিয়ে আমরা একটি HTML ফাইল দিয়ে প্রতিক্রিয়া জানাতে চাই। এর জন্য, আমরা ইজেএস (এম্বেডেড জাভাস্ক্রিপ্ট) ব্যবহার করব। ইজেএস একটি উদ্বেগজনক ভাষা।

এক্সপ্রেসে ইজেএস ব্যবহার করতে, আমাদের টেম্পলেট ইঞ্জিনটি সেটআপ করতে হবে:

একটি টেম্পলেট ইঞ্জিন আপনাকে আপনার অ্যাপ্লিকেশনটিতে স্থির টেম্পলেট ফাইলগুলি ব্যবহার করতে সক্ষম করে। রানটাইমের সময়, টেম্পলেট ইঞ্জিনটি প্রকৃত মানগুলির সাথে একটি টেমপ্লেট ফাইলে ভেরিয়েবলগুলি প্রতিস্থাপন করে এবং ক্লায়েন্টকে প্রেরিত এইচটিএমএল ফাইলে টেমপ্লেটটি রূপান্তর করে। এই পদ্ধতির ফলে কোনও HTML পৃষ্ঠা ডিজাইন করা সহজ হয়। সংক্ষিপ্ত সংস্করণটি হ'ল ইজেএস আমাদের ভেরিয়েবলের সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেয় এবং তারপরে সেই পরিবর্তনশীলগুলির উপর ভিত্তি করে গতিশীলভাবে আমাদের এইচটিএমএল তৈরি করতে দেয়! (এটি টিউটোরিয়ালে পরে আরও অনেক কিছু বোঝাবে)

প্রথমত, আমরা টার্মিনালে ejs ইনস্টল করব:

এনপিএম ইনস্টল করুন - সংরক্ষণ করুন

তারপরে আমরা আমাদের অ্যাপ্লিকেশন.জেএস ফাইলে কোডের এই লাইনটি (আমাদের প্রয়োজনীয় বিবৃতিগুলির ঠিক নীচে) সহ আমাদের টেম্পলেট ইঞ্জিনটি সেট আপ করতে পারি:

app.set ('ভিউ ইঞ্জিন', 'ইজেস');

EJS "ভিউ" ডিরেক্টরিতে ডিফল্টরূপে অ্যাক্সেস করা হয়। সুতরাং আপনার ডিরেক্টরিতে "ভিউজ" নামে একটি নতুন ফোল্ডার তৈরি করুন। এই "ভিউ" ফোল্ডারের মধ্যে, "index.ejs" নামে একটি ফাইল যুক্ত করুন। আপাতত আমাদের "index.ejs" ফাইলটিকে এইচটিএমএল ফাইল হিসাবে ভাবুন।

বাস্তব দ্রুত, আমাদের ফাইল কাঠামোটি এতদূর দেখতে কেমন হবে তা এখানে:

| - ইনস্টাগ্রাম-বাগদান-হার | - মতামত | - সূচক.জেস | - প্যাকেজ.জসন | - app.js

দুর্দান্ত, এখানে আমাদের সূচি.জেস ফাইলের জন্য একটি বয়লারপ্লেট রয়েছে। আমি এই ফাইলটি আর যাচ্ছি না কারণ এটি কোনও HTML টিউটোরিয়াল নয়, তবে এটি ঠিক সোজা হওয়া উচিত কারণ আমরা এখনও কোনও ইজেএস ব্যবহার করছি না। এইচটিএমএল একটি ইনস্টাগ্রাম ব্যবহারকারীর নামের জন্য একটি ইনপুট সহ একটি ফর্ম এবং একটি জমা বোতাম:

ইনস্টাগ্রাম ব্যস্ততার হার  

উপরের কোডটি একবার আপনার index.ejs ফাইলে অনুলিপি করা হয়ে গেলে আপনি প্রায় শেষ হয়ে গেছেন! আমাদের চূড়ান্ত জিনিসটি আমাদের অ্যাপ.জেট কোডটি প্রতিস্থাপন করা উচিত:

app.get ('/', ফাংশন (req, res) {// পুরাতন কোড পুনরায় বিক্রয় করুন ('হ্যালো ওয়ার্ল্ড!')})

উপরে পুরানো কোডটি রয়েছে যেখানে আমরা 'হ্যালো ওয়ার্ল্ড' লেখাটি প্রেরণ করি! ক্লায়েন্টকে। পরিবর্তে, আমরা আমাদের index.ejs ফাইলটি প্রেরণ করতে চাই:

app.get ('/', ফাংশন (req, res) {// নতুন CODE res.render ('সূচক');})

`Res.send` ব্যবহার করার পরিবর্তে, আমরা কোনও টেম্প্লেটিং ভাষা ব্যবহার করে` res.render use ব্যবহার করি। `res.render` আমাদের দৃষ্টিভঙ্গি রেন্ডার করবে, তারপরে ক্লায়েন্টের সমতুল্য HTML প্রেরণ করবে।

এই মুহুর্তে, ছুটির দিন চালিয়ে আবার পরীক্ষা করতে পারে:

নোড অ্যাপ.জেএস // উদাহরণস্বরূপ অ্যাপটি 3000 পোর্টে শোনা যাচ্ছে!

এখন আপনার ব্রাউজারটি খুলুন এবং দেখুন: `লোকালহোস্ট: 3000` এবং আপনার আমাদের সূচি.জেস ফাইলটি প্রদর্শিত হচ্ছে তা দেখতে হবে!

একটি সিএসএস ফাইল যুক্ত করা হচ্ছে

তোমার চেয়ে আমার চেয়ে কিছুটা 'সুন্দর' দেখাবে। কারণ আমার এইচটিএমএল স্টাইল করতে আমি একটি সিএসএস ফাইল ব্যবহার করছি। আমরা কীভাবে আমাদের সিএসএসকে কাজ করতে পারি তা এখানে:

আমাদের প্রকল্পে আপনাকে "পাবলিক" নামে একটি নতুন ফোল্ডার যুক্ত করতে হবে। সেই ফোল্ডারের মধ্যে একটি সিএসএস ফোল্ডার তৈরি করুন এবং শেষ পর্যন্ত "স্টাইল। সিএসএস" নামে একটি ফাইল তৈরি করুন। আপনার নতুন ফাইল কাঠামো এখানে:

| - ইনস্টাগ্রাম-বাগদান-হার | - মতামত | - সূচি.জেজ | - প্রকাশ্য | - সিএসএস | - শৈলী। CSS | - প্যাকেজ.জেসন | - অ্যাপ.জেএস

এক্সপ্রেস এই ফাইলটিতে ডিফল্টরূপে অ্যাক্সেসের অনুমতি দেয় না, সুতরাং আমাদের নিম্নলিখিত কোডের লাইন দিয়ে এটি প্রকাশ করতে হবে:

app.use (express.static ( 'পাবলিক'));

এই কোডটি আমাদের 'সর্বজনীন' ফোল্ডারের মধ্যে স্থিতিশীল ফাইলগুলির সমস্ত অ্যাক্সেস করার অনুমতি দেয়।

অবশেষে, আমাদের আমাদের সিএসএস দরকার। যেহেতু এটি কোনও সিএসএস কোর্স নয়, আমি সুনির্দিষ্ট বিষয়গুলি নিয়ে যাব না, তবে আপনি যদি আমার সিএসএস ব্যবহার করতে চান তবে আপনি এখান থেকে এটি অনুলিপি করতে পারেন।

আমাদের পোস্ট রুট সেট আপ করছে

এখনই আপনার অ্যাপ.জেএস ফাইলটি দেখতে এমন হওয়া উচিত:

কনস্ট এক্সপ্রেস = প্রয়োজনীয় ('এক্সপ্রেশন'); কনট অ্যাপ = এক্সপ্রেস ();
app.use (express.static ( 'পাবলিক')); app.set ('ভিউ ইঞ্জিন', 'ইজেস');
app.get ('/', ফাংশন (req, res) {res.render ('সূচক');}) app.listen (3000, ফাংশন () {কনসোল.লগ ('3000 পোর্টে উদাহরণস্বরূপ অ্যাপ শোনাচ্ছে!') })

আমাদের একটি রুট রয়েছে এবং তারপরে আমরা আমাদের সার্ভারটি তৈরি করি। তবে, আমাদের অ্যাপ্লিকেশনটি কাজ করার জন্য, আমাদের পাশাপাশি একটি পোস্টের রুটও প্রয়োজন। আপনি যদি আমাদের `index.ejs` ফাইলটি লক্ষ্য করেন তবে দেখতে পাবেন যে আমাদের ফর্মটি request /` রুটে একটি পোস্টের অনুরোধ জমা দিচ্ছে:

এখন আমাদের ফর্মটি কোথায় পোস্ট করা হয়েছে তা আমরা জানি, আমরা রুটটি সেট আপ করতে পারি! একটি পোস্ট অনুরোধ একটি সামান্য পরিবর্তন সহ ঠিক একটি অনুরোধ পাওয়ার অনুরোধ দেখায়:

app.post ('/', ফাংশন (req, res) {res.render ('সূচক');})

তবে একই HTML টেমপ্লেটটি দিয়ে কেবল প্রতিক্রিয়া না দিয়ে, টাইপ করা ব্যবহারকারীর নামটিও অ্যাক্সেস করতে দেয় lets এর জন্য আমাদের একটি এক্সপ্রেস মিডলওয়্যার ব্যবহার করা দরকার।

এক্সপ্রেস একটি ন্যূনতম কাঠামো। তবে আরও উন্নত কার্য সম্পাদনের জন্য আমরা মিডলওয়্যার (রেকর্ড এবং রেস বডিগুলিতে অ্যাক্সেস রয়েছে এমন ফাংশন) ব্যবহার করতে পারি।

আমরা "বডি পার্সার" মিডওয়্যারটি ব্যবহার করতে যাচ্ছি। `বডি-পার্সার` আমাদের` রেক-বডি` অবজেক্টে থাকা মূল-মান জোড়গুলির ব্যবহার করতে দেয় ` এই ক্ষেত্রে, আমরা ক্লায়েন্টের পক্ষে টাইপ করা ব্যবহারকারীর নামটি ব্যবহার করতে সক্ষম হব।

`বডি-পার্সার` ব্যবহার করতে, আমাদের প্রথমে এটি ইনস্টল করতে হবে:

এনপিএম বডি-পার্সার ইনস্টল করুন - সেভ করুন

একবার ইনস্টল হয়ে গেলে, আমরা এটির প্রয়োজন হতে পারি, এবং তারপরে আমাদের অ্যাপ.জেজে নিম্নলিখিত কোডের লাইন সহ মিডলওয়্যারটি ব্যবহার করি

কনস্ট বডি পার্সার = প্রয়োজনীয় ('বডি-পার্সার'); // ... // ... app.use (বডি পার্সার.আরল্যানকোড ({প্রসারিত: সত্য}));

এই প্রকল্পের ক্ষেত্রের জন্য, কোডটির সেই লাইনটি কীভাবে কাজ করে তা আপনি ঠিক বুঝতে পারছেন না। কেবল জেনে থাকুন যে `বডি-পার্সার` ব্যবহার করে আমরা` req.body` অবজেক্টটি ব্যবহার করতে পারি।

অবশেষে, এখন আমরা কনসোলে 'ব্যবহারকারীর নাম' এর মান লগ করার জন্য আমাদের পোস্টের অনুরোধটি আপডেট করতে পারি।

app.post ('/', ফাংশন (req, res) {res.render ('সূচক'); কনসোল.লগ (req.body.username);})

এটি পরীক্ষা করতে দেয়!

নোড অ্যাপ.জেএস // উদাহরণস্বরূপ অ্যাপটি 3000 পোর্টে শোনা যাচ্ছে!

এখন আপনার ব্রাউজারটি খুলুন এবং দেখুন: `লোকালহোস্ট: 3000`, ক্ষেত্রের মধ্যে একটি শহরের নাম টাইপ করুন এবং এন্টার টিপুন!

আপনি যদি আপনার কমান্ড প্রম্পটে ফিরে যান, আপনার প্রম্পটে প্রদর্শিত ব্যবহারকারী নামটি দেখতে হবে! দুর্দান্ত, আপনি এখন ক্লায়েন্ট থেকে সার্ভারে সাফল্যের সাথে ডেটা পাস করেছেন!

আপনি যদি এটি কাজ করতে না পারেন তবে আপনার অ্যাপ.জেএস ফাইলটি এখন দেখতে কেমন হওয়া উচিত তা এখানে:

কনস্ট এক্সপ্রেস = প্রয়োজনীয় ('এক্সপ্রেশন'); কনট অ্যাপ = এক্সপ্রেস (); কনস্ট বডি পার্সার = প্রয়োজনীয় ('বডি-পার্সার');
app.use (বডি পার্সার.আরল্যানকোডড ({প্রসারিত: সত্য})); app.use (express.static ( 'পাবলিক')); app.set ('ভিউ ইঞ্জিন', 'ইজেস');
app.get ('/', ফাংশন (req, res) {res.render ('সূচক');})
app.post ('/', ফাংশন (req, res) {কনসোল.লগ (req.body.username); res.render ('সূচক');})
app.listen (3000, ফাংশন () {কনসোল.লগ ('3000 পোর্টে উদাহরণস্বরূপ অ্যাপ শোনাচ্ছে!')})

ইনস্টাগ্রাম ওয়েব এপিআই

এখন আমরা পোস্ট ডেটা আনার জন্য ইনস্টাগ্রামে অনুরোধ করতে প্রস্তুত। এর জন্য আমরা ইনস্টাগ্রাম ওয়েব এপিআই এনপিএম প্যাকেজ ব্যবহার করি, প্রথমে ইনস্টল করুন:

এনপিএম ইনস্টাগ্রাম-ওয়েব-এপি ইনস্টল করুন - সেভ করুন

একটি `যদিও-কুকি` স্টোর ব্যবহার করে ডিস্কে কুকিগুলি সংরক্ষণ করার জন্য।

এনপিএম হার্ড-কুকি-ফাইলস্টোর 2 - সেভ ইনস্টল করুন

একবার ইনস্টল হয়ে গেলে, আমরা আমাদের অ্যাপ.জেজে এটি প্রয়োজন হতে পারি

কনস্টাম ইনস্টাগ্রাম = প্রয়োজন ('ইনস্টাগ্রাম-ওয়েব-এপিআই')
কনট ফাইলকুকিস্টোর = প্রয়োজনীয় ('শক্ত-কুকি-ফাইলস্টোর 2')
কনস্ট {ব্যবহারকারীর নাম, পাসওয়ার্ড process = প্রক্রিয়া.এনভি // কেবল তখনই প্রয়োজন যখন কোনও কুকি সংরক্ষণ করা হয়নি
কনস্ট কুকিস্টোর = নতুন ফাইলকুকিস্টোর ('./ कुकीজ.জসন')
কনস্ট্যান্ট ক্লায়েন্ট = নতুন ইনস্টাগ্রাম ({ব্যবহারকারীর নাম, পাসওয়ার্ড, কুকি স্টোর})

অনুরোধের পোস্টে পরীক্ষিত:

; (async () => it অপেক্ষার ক্লায়েন্ট.লগিন (); কনস্ট ইনস্টাগ্রাম = অপেক্ষায় ক্লায়েন্ট get ব্যবহারকারীবার ব্যবহারকারীর নাম ({ব্যবহারকারী নাম: req.body.username}); রেজ.সেন্ড (ইনস্টাগ্রাম);}) ()

সার্ভার পুনঃসূচনা করার পরে এবং ইনস্টাগ্রামের ব্যবহারকারী নাম জমা দেওয়ার পরে আপনার উচিত জেএসওএন প্রতিক্রিয়া:

আমি প্রতি পোস্টে ইনস্টাগ্রামে আমার ব্যস্ততার হার কীভাবে গণনা করব?

এটি দেখতে দেখতে অনেক সহজ। বলুন যে আপনার নীচের ২,৫০০ জন রয়েছে, আপনার 'ব্যস্ততা' আপনার পোস্ট এবং প্রতিটি পোস্ট মিলিয়ে মন্তব্যগুলি আপনার নিম্নলিখিত দ্বারা বিভক্ত দ্বারা পরিমাপ করা হয়।
একটি কলম এবং কাগজ সহজ হাতে পান এবং বিশ্লেষণের জন্য একটি পোস্ট নির্বাচন করুন। মন্তব্যগুলি এবং পোস্টটি যে পছন্দ করেছে তার সংখ্যা নোট করুন। ধরা যাক আপনার মোট পছন্দ 137 এবং মন্তব্যগুলি 10 এ এসেছিল।
137 + 10 = 147
তারপরে আপনাকে এই যাদুকরী নম্বরটি নেওয়া এবং এটি আপনার মোট অনুগামী দ্বারা ভাগ করতে হবে এবং এটি 100 দ্বারা গুণ করা হবে (এটি আপনাকে শতাংশ দেবে)।
147 / 2,500 x 100 = 5.88%
এই পোস্টের জন্য আপনার মোট ব্যস্ততার হার হ'ল ৫.৮৮% যা ইনস্টাগ্রামে গড় ব্যস্ততার হারের মাঝখানে স্ম্যাক ব্যাং বসে আছে। আমরা আপনার পোস্টের প্রকার এবং ব্যস্ততার হারের সাথে একটি স্প্রেডশিট রাখার পরামর্শ দিচ্ছি যাতে আপনার শ্রোতা কী প্রতিক্রিয়া জানায় এবং কী নয় তা আপনি সঠিকভাবে অনুমান করতে পারেন।
প্ল্যান - ইনস্টাগ্রামে আমি আমার ব্যস্ততার হার কীভাবে গণনা করব?

এনগেজেশন রেট সূত্র অনুসারে আমাদের মতামত এবং মত গণনা পাওয়া দরকার। জেএসএনের প্রতিক্রিয়াতে `প্রান্ত_মণি__পরে_লাইন_মিডিয়া> প্রান্ত` সর্বশেষ ব্যবহারকারীর পোস্টগুলির তালিকা।

সম্পূর্ণ পোস্ট রুট কোড:

রিকোয়েস্ট_ইউজারনেম = অনুরোধ.body.username; যদি (! অনুরোধ_ ব্যবহারকারীর নাম || অনুরোধ_ ব্যবহারকারীর নাম: দৈর্ঘ্য === 0) প্রতিক্রিয়া.আরডাইরেক্ট ('/'); চিত্রগুলি [[], আউটপুট = [], যেমন_সি, মন্তব্য_সি, এনগেজমেন্ট_রেট, এনগেজমেন্ট_রেট_সাম = 0, এনগেজমেন্ট_রেট_এভিজি = 0, ফলোয়ারগুলি = 0; (অ্যাসিঙ্ক () => {চেষ্টা করুন client ক্লায়েন্ট.লগিনের অপেক্ষায় (); কনস্ট ইনস্টাগ্রাম = অপেক্ষায় ক্লায়েন্ট.জেট ইউজারবাইজারনেম ({ব্যবহারকারীর নাম: অনুরোধ_উজারনেম}); যদি (ইনস্টাগ্রাম ['has_blocked_viewer'] === মিথ্যা & ইনস্টাগ্রাম ['প্রান্ত_সামগ্রী_আর_কালীন_মেডিয়া']] ['গণনা']> 0) {অনুসারীরা = ইনস্টাগ্রাম ['প্রান্ত_মৃত্তিকা_বিশেষে'] ['গণনা']; প্রান্তগুলি = ইনস্টাগ্রাম ['প্রান্ত_মনা_কর্তা_কালীন_মিডিয়া'] ['প্রান্তগুলি']; এর জন্য (প্রান্তগুলিতে পি দিন) {যদি (প্রান্তগুলি)। hasOwnProperty (p)) {like_c = প্রান্ত [p] ['নোড'] ['এজ_লিকড_বাই'] ['গণনা']; মন্তব্য_সি = প্রান্ত [p] ['নোড'] ['এজ_মিডিয়া_ টো কমেন্টস]] [' গণনা ']; বাগদান_রেট = ((মত_সি + মন্তব্য_সি) / অনুসরণকারী) * 100; এনগেজমেন্ট_রেট_সুম + = এনগেজমেন্ট_রেট; এনগেজমেন্ট_রেট = সংখ্যা ((এনগেজমেন্ট_রেট)। টু ফিক্সড (3)); চিত্রস.পুষ (type "প্রকার": প্রান্ত [পি] ['নোড' ] ['__ টাইপনেম'], "ক্যাপশন": প্রান্তগুলি [পি] ['নোড'] ['প্রান্ত_মিডিয়া_ টো_ক্যাপশন'] ['প্রান্ত']। দৈর্ঘ্য> 0? প্রান্ত [পি] ['নোড'] ['প্রান্ত_মিডিয়া_টো_ক্যাপশন'] [ 'কিনারা'] [0] ['নোড'] ['পাঠ্য']: '', "বাগদান_রেট": বাগদান_রেট, "লাইক": লাইক_সি, "মন্তব্য": মন্তব্য_সি, "লিঙ্ক": 'https: // www। ইনস্টাগ্রাম.com/p/ '+ এডিজি es [p] ['নোড'] ['শর্টকোড'], "থাম্বনেইল": প্রান্তগুলি [পি] ['নোড'] ['থাম্বনেইল_সোর্স'] [1] ['এসসিআর']}); }} যদি (চিত্রগুলি. দৈর্ঘ্য> 0) {বাগদান_রেট_এভিজি = এনগেজমেন্ট_রেট_সাম / চিত্রসমূহ le দৈর্ঘ্য; বাগদান_রেট_এভিজি = সংখ্যা ((বাগদান_রেট_এভিজি)। টো ফিক্সড (3)); }}
আউটপুট = full 'পূর্ণ নাম': ইনস্টাগ্রাম ['পূর্ণ নাম'], 'ব্যবহারকারীর নাম': ইনস্টাগ্রাম ['ব্যবহারকারীর নাম'], 'লিংক': 'https://www.instagram.com/' ইনস্টাগ্রাম ['ব্যবহারকারীর নাম'], ' জীবনী ': ইনস্টাগ্রাম [' জীবনী '],' অনুসারীরা ': অনুসরণকারী,' ক্যান_সি ':! ((ইনস্টাগ্রাম [' is_private '] && ইনস্টাগ্রাম [' অনুসরণ_বাই_ভিউয়ার '] === মিথ্যা) || ইনস্টাগ্রাম [' হ্যাশ_ব্লকড_উইউভার '])) , 'এনগেজমেন্ট_রেট_এভিজি': এনগেজমেন্ট_রেট_এভিজি, 'ইমেজ': চিত্র}; প্রতিক্রিয়া.রেেন্ডার ('সূচক', {আউটপুট: আউটপুট}); } ধরা (ভুল) so কনসোল.লগ (ত্রুটি); প্রতিক্রিয়া.রেেন্ডার ('সূচক', {ত্রুটি: সত্য}); }}) ();

এবং index.ejs এ প্রতিক্রিয়া প্রদর্শন করতে:

<% যদি (টাইপফুল ত্রুটি! == 'অপরিজ্ঞাত' && ত্রুটি) {%> ইনস্টাগ্রাম থেকে ডেটা আনতে ত্রুটি! <%} অন্যথায় যদি (টাইপফর্ম! == 'অপরিজ্ঞাত') {%> <% = আউটপুট.ফুল_নাম || আউটপুট.ইউজারনেম%> <% = আউটপুট.বায়োগ্রাফি%> অনুসারীরা: <% = আউটপুট.ফোলার্স%> <% যদি (! আউটপুট.ক্যান_সি) {%> এই অ্যাকাউন্টটি ব্যক্তিগত বা আপনি অ্যাকাউন্ট দ্বারা অবরুদ্ধ। <%} অন্য {%> বাগদানের হার গড়: <% = আউটপুট.ইনেজমেন্ট_রেট_এভিজি%>% <% output.images.forEach (ফাংশন (চিত্র) {%> <% = image.engagement_rate%>% <% = চিত্র। লাইক%> <% = image.comments%> <%}); %> <%}%> <%}%>

আপনার কোড চালান

অনুস্মারক: এই প্রকল্পের সমস্ত কোড গিটহাব রেপোতে পাওয়া যাবে
নোড সার্ভার.জেএস
// উদাহরণস্বরূপ অ্যাপটি 3000 পোর্টে শুনছেন!

এখন আপনার ব্রাউজারটি খুলুন এবং দেখুন: `লোকালহোস্ট: 3000``

আমি আশা করি আপনি এই নিবন্ধটি উপভোগ করেছেন ❤

আরো দেখুন

আমার হোয়াটসঅ্যাপ সঠিকভাবে কাজ করছে না কেন?হোয়াটসঅ্যাপ: আমি কীভাবে আমার অ্যান্ড্রয়েড ফোন থেকে একটি হার্ড ড্রাইভে আমার হোয়াটসঅ্যাপ মিডিয়া রফতানি করব?আমি যদি অন্য ফোন থেকে লগ ইন করি তবে আমি কী আমার স্ন্যাপচ্যাট কথোপকথনগুলি দেখতে পাব?আমি কোন ব্যাংক গ্রাহক নই। আমি কি এখনও হোয়াটসঅ্যাপ ব্যাংকিং পরিষেবা ব্যবহার করতে পারি?তিনি আমাকে অবরুদ্ধ করেছেন বলে আমি কি আমার প্রাক্তন প্রেমিককে আমার সেরা বন্ধুর স্ন্যাপচ্যাটে যুক্ত করব?আমি হোয়াটসঅ্যাপে যোগ দিলে আমার ফোন নম্বরটি কি আমার হোয়াটসঅ্যাপ পরিচিতিগুলিতে দৃশ্যমান হবে?আমি আমার ওয়াইফাই বা মোবাইল ডেটা বন্ধ না করে কীভাবে হোয়াটসঅ্যাপ বার্তা পাওয়া বন্ধ করব?আপনার ইনস্টাগ্রাম বায়োতে ​​অ্যাকাউন্ট এবং হ্যাশট্যাগগুলিতে কীভাবে লিঙ্ক যুক্ত করা যায়?