چونکہ بار بار ایک تاریخ دی ہے اور اس کے بعد ان کا API جاری کرنے میں ناکام رہا ہے ، لہذا میں نے معاملہ اپنے ہاتھ میں لینے کا فیصلہ کیا۔ براہ کرم نوٹ کریں کہ یہ کام کرنے کا مثالی طریقہ نہیں ہے ، لیکن ، ابھی کے لئے یہ کام کر رہا ہے۔ میں اپنے مقبول صفحات کا ایک سماجی گراف بنانا چاہتا تھا تاکہ ہم جان سکیں کہ کس طرح کی تصاویر اور مواد ہمارے ناظرین کے ساتھ گونج رہے ہیں ، لہذا میں نیچے اسکرپٹ لے کر آیا اور پھر اپنے ڈیٹا بیس میں موجود ہر یو آر ایل کے ذریعے لوپ کیا اور ڈیٹا حاصل کیا۔ ضرورت ہے۔
میں نے اس iframe میں ڈرل کیا جو بٹن کال آؤٹ کے ذریعہ تخلیق کیا گیا تھا اور اس یو آر ایل کے ساتھ آیا تھا:
http: //pinit-cdn..com/pinit.html؟ url = http: //www.allrecines.com
ٹھیک ہے کہ یہ آسان تھا ، یہ نمبر اسی وقت اپنی ہی ڈی آئی ڈی کاؤنٹی بلب میں ظاہر ہوتا ہے۔ تو میں نے اسے curl'ed ، اور تجزیہ کرنے کے لئے آسان_ html_dom پی ایچ پی لائبریری کا استعمال کیا۔ یہ 0 لوٹتا ہی رہا۔ افوہ! صفحہ لوڈ کرنے کے بعد اس نمبر کو جاوا اسکرپٹ کے ساتھ تبدیل کردیا گیا ہے۔ عنصر کا معائنہ کرنے کے بجائے ماخذ کو دیکھنا چاہئے تھا۔ تو میں اس کے بجائے ماخذ دیکھتا ہوں اور وہاں میری پروگرامنگ کی خوشنودی کے لئے بیٹھا ہوا کوڈ کا یہ عمدہ ٹکڑا ہے۔
snode.setAttribute ('src'، '//api..com/v1/urls/count.json؟callback=reLiveCount&url='+targetUrl)؛
اس سے ، میں مندرجہ ذیل یو آر ایل کو اکٹھا کرتا ہوں تو شاید میری ضرورت والا ڈیٹا کھینچ لے گا ،
HTTP: //api..com/v1/urls/count.json؟ کال بیک = رسیدکاؤنٹ اور یو آر ایل = HTTP: //www.allrecips.com
جو دکھاتا ہے:
رسیوکاؤنٹ ({"گنتی": 1148 ، "url": "http://www.allrecips.com"})
لہذا ، اس کے json ڈیٹا کو API سے فنکشن کال میں لپیٹا گیا ہے جو انہوں نے ابھی تک عوامی طور پر جاری نہیں کیا ہے۔ کتنا آسان. ذیل میں آپ کو پی ایچ پی میں یہ کام کرنے کی ضرورت کوڈ کا تھوڑا سا ہے۔ آپ کو لازمی طور پر اپنے سرور پر سی آر ایل فعال ہونا چاہئے۔
$ pinurl = "HTTP: //api..com/v1/urls/count.json؟ کال بیک = رسیدکاؤنٹ & url ="؛ urدفورل = "http://www.allrecips.com/"؛ $ پنورل. = $ برانڈورل؛ t ایچ ٹی ایم ایل = پل_ ایچ ٹی ایم ایل ($ پنورل)؛ // کسی فنکشن کے ذریعے html حاصل کریں جس میں cURL calls html = str_replace ("getCount ("، ""، $ html)) کہتے ہیں؛ // فنکشن کال کو ڈیٹا کو $ html = substr ($ html، "" میں لپیٹا ہوا ہے ، کو ہٹا دیں۔ -1)؛ $ = json_decode (t html)؛ // json سے پی ایچ پی سرنی میں تبدیل کریں $ pincount =؛ -> گنتی $ ایکو؛ پنکاؤنٹ // // تعداد کی تقریب پل_حٹیمیل ($ url) {$ ch = curl_init () ؛ curl_setopt ($ ch، CURLOPT_URL، $ url)؛ curl_setopt ($ ch، CURLOPT_REmittedTRANSFER، 1)؛ curl_setopt ($ ch، CURLOPT_CONNECTTIMEOUT، 10)؛ t html = curl_exc $ chc؛ cur _ chc؛ ؛
جیسا کہ آپ دیکھ سکتے ہیں ، ہم ڈیٹا کو کرل کے ساتھ کھینچتے ہیں اور پھر فنکشن کال چھین لیتے ہیں جو جیسن ڈیٹا کے گرد لپیٹ جاتا ہے۔ پھر json_decode کا استعمال کرنا json ڈیٹا کو پی ایچ پی سرنی میں تبدیل کرنے کی بات ہے۔ Voila! سب ہوگیا۔ میں نے اب تک 3000 کے قریب یو آر ایل چلائے ہیں اور اعداد و شمار میں کوئی حرج نہیں ہے۔ یہ بعض اوقات تھوڑا سا آہستہ تھا ، اس بات کا یقین نہیں تھا کہ ڈیزائن کے ذریعہ یا اس کے ذریعہ۔ جب بھی میں یہ ٹائپ کرتا ہوں تو اس میں ڈیٹا کو کھینچنا اور اسٹور کرنا ہے۔ مجھے یقین ہے کہ کسی وقت شرح کی حد بندی ہوگی ، لیکن میں اب تک کسی دیوار میں نہیں چلا۔ ہوسکتا ہے کہ یہ بھی پروگرامرز سے پوشیدہ نہ سمجھا جائے ، لیکن جہاں تک مجھے معلوم ہے ، اس وقت تک کوئی سرکاری مدد حاصل نہیں ہوگی جب تک کہ آپ ان چند پبلشرز میں شامل نہ ہوں جن کے ساتھ انہوں نے کام کرنے کا انتخاب کیا ہے۔
