যেহেতু বারবার একটি তারিখ দেওয়া হয়েছে এবং তারপরে তাদের এপিআই প্রকাশ করতে ব্যর্থ হয়েছে, তাই আমি বিষয়টি নিজের হাতে নেওয়ার সিদ্ধান্ত নিয়েছি। দয়া করে মনে রাখবেন যে এটি জিনিসগুলি করার আদর্শ উপায় নয়, তবে, আপাতত এটি কার্যকর হয়। আমি আমাদের সর্বাধিক জনপ্রিয় পৃষ্ঠাগুলির একটি সামাজিক গ্রাফ তৈরি করতে চেয়েছিলাম যাতে আমরা জানতে পারি যে কী ধরণের ফটো এবং সামগ্রী আমাদের দর্শকদের সাথে অনুরণন করছে, তাই আমি নীচের স্ক্রিপ্টটি নিয়ে এসে আমাদের ডাটাবেসের প্রতিটি ইউআরএল লুপ করেছি এবং ডেটা পেয়েছি প্রয়োজন ছিল।
আমি বোতাম কলআউট দ্বারা তৈরি ইফ্রেমে ড্রিল করে এই ইউআরএল নিয়ে এসেছি:
HTTP: //pinit-cdn..com/pinit.html URL = HTTP: //www.allrecipes.com
ঠিক আছে যে সহজ ছিল, সংখ্যাটি ঠিক সেখানে নিজস্ব ডিভিডি আইডি কাউন্টব্বলে প্রদর্শিত হবে। সুতরাং আমি এটি curl'ed করেছি, এবং পার্স করার জন্য সরল_ html_dom পিএইচপি লাইব্রেরি ব্যবহার করেছি। এটি 0 ফিরে যদিও রাখা। উপস! পৃষ্ঠাটি লোড হওয়ার পরে সেই সংখ্যাটি জাভাস্ক্রিপ্টের সাহায্যে পরিবর্তিত হবে। উপাদানটি পরীক্ষা করার পরিবর্তে উত্সটি দেখে নেওয়া উচিত ছিল। সুতরাং আমি পরিবর্তে উত্সটি দেখি এবং কোডের এই চমৎকার টুকরাটি কেবল আমার প্রোগ্রামিংয়ের আনন্দের জন্য বসে আছে।
snode.setAttribute ('src', '//api..com/v1/urls/count.json?callback=recepCount&url='+targetUrl);
সে থেকে, আমি নিম্নলিখিত URL টি সংগ্রহ করি সম্ভবত আমার প্রয়োজনীয় ডেটা টানবে,
HTTP: //api..com/v1/urls/count.json কলব্যাক = receiveCount & url = http: //www.allrecipes.com
যা প্রদর্শন করে:
রিসিভকউন্ট ({"গণনা": 1148, "url": "http://www.allrecips.com"})
সুতরাং, এর জসন ডেটা এপিআই থেকে একটি ফাংশন কলে মোড়ানো তারা এখনও প্রকাশ্যে প্রকাশ করেনি। কিভাবে সুবিধাজনক. নীচে আপনার পিএইচপি এই কাজ করতে প্রয়োজন কোড সামান্য বিট। আপনার সার্ভারে আপনার অবশ্যই সিআরএল সক্ষম থাকতে হবে।
$ পিনুরল = "HTTP: //api..com/v1/urls/count.json? কলব্যাক = রিভিউসকাউন্ট & url ="; $ টার্গেটরল = "http://www.allrecips.com/"; $ পিনুরল। = $ ব্র্যান্ডুরল; $ এইচটিএমএল = পুল_এইচটিএমএল ($ পিনুরল); // এমন একটি ফাংশনের মাধ্যমে এইচটিএমএল পান যা সিআরএলকে কল করে $ এইচটিএমএল = টিআর_রেপ্লেস ("রিসিভকাউন্ট (", "", $ এইচটিএমএল); // ফাংশন কলটি ডেটা $ এইচটিএমএল = সাবস্ট্রিতে ($ এইচটিএমএল, "" মোড়ানো থাকে) -1); $ = json_decode ($ এইচটিএমএল); // জসন থেকে পিএইচপি অ্যারে রূপান্তর করুন $ পিনকাউন্ট = $ -> গণনা; প্রতিধ্বনি $ পিনকন্ট; // সংখ্যা ফাংশন পুল_এইচটিএমএল ($ url) {$ ch = কার্ল_ইনিট () ; কার্ল_সেটপ্ট ($ ch, CURLOPT_URL, T_ url); কার্ল_সেটপ্ট ($ সিএইচ, সিআরএলপিএসআরসিএনটিআরএনএসএফআর, 1); কার্ল_সেটপ্ট ($ ch, CURLOPT_CONNECTTIMEOUT, 10); $ এইচটিএমএল = কার্ল_এক্সএল) $ chc; ;
আপনি দেখতে পাচ্ছেন, আমরা কার্ল দিয়ে ডেটা টানছি তারপরে json ডেটার চারপাশে মোড়ানো ফাংশন কলটি সরিয়ে ফেলি। তারপরে এটি json_decode ব্যবহার করে json ডেটা পিএইচপি অ্যারে রূপান্তরিত করার জন্য। ভাল খবর! সব শেষ. আমি এ পর্যন্ত প্রায় 3, 000 ইউআরএল চালিয়েছি এবং ডেটা কোনও সমস্যা ফিরে পেয়েছে। এটি সময়ে কিছুটা ধীরে ধীরে ছিল, নকশা দ্বারা বা এটি দ্বারা নিশ্চিত হন না। এটি টাইপ করার সাথে সাথে এটি এখনও ডেটা টানছে এবং সংরক্ষণ করছে। আমি নিশ্চিত যে এক পর্যায়ে কিছু প্রকার হার সীমাবদ্ধ থাকবে তবে আমি এখনও পর্যন্ত কোনও দেয়ালে প্রবেশ করি নি। সম্ভবত এটি প্রোগ্রামারদের থেকে গোপন করার কথাও নয়, তবে যতদূর আমি জানি, আপনি যে কয়েকজন প্রকাশক যাদের সাথে কাজ করার জন্য বেছে নিয়েছেন তাদের মধ্যে আপনি যদি না থাকেন তবে কোনও সরকারী সমর্থন নেই।
