Пошто сам више пута дао датум, а потом нисам успео да пусти њихов АПИ, одлучио сам да узмем ствар у своје руке. Имајте на уму да ово није идеалан начин за обављање ствари, али, за сада то функционише. Желео сам да направим социјални граф наших најпопуларнијих страница како бисмо знали какве фотографије и садржај одјекује код наших гледалаца, па сам смислио скрипту доле и затим прегледао сваки УРЛ у нашој бази података и добио податке И потребно.
Пробушио сам се у ифрамеу који је креиран од стране гуменог описа и дошао сам до следећег УРЛ-а:
хттп: //пинит-цдн..цом/пинит.хтмл? урл = хттп: //ввв.аллреципес.цом
Па, то је било лако, број је приказан тамо у сопственом ИД-у ЦоунтБуббле. Па сам га увијао и користио пхп библиотеку симпле_хтмл_дом за рашчлањивање. Ипак је и даље враћало 0. Упс! Тај се број мења помоћу ЈаваСцрипта након учитавања странице. Требао је да прегледа извор уместо да прегледа елемент. Уместо тога, гледам извор и ту сам лепи део кода који сам тамо седео ради мог задовољства у програмирању.
сноде.сетАттрибуте ('срц', '//апи..цом/в1/урлс/цоунт.јсон?цаллбацк=рецеивеЦоунт&урл='+таргетУрл);
На основу тога, прикупљам следећу УРЛ адресу вероватно ће извући потребне податке,
хттп: //апи..цом/в1/урлс/цоунт.јсон? цаллбацк = аццептЦоунт & урл = хттп: //ввв.аллреципес.цом
који приказује:
аццептЦоунт ({"цоунт": 1148, "урл": "хттп://ввв.аллреципес.цом"})
Дакле, његови јсон подаци умотани у функцијски позив из АПИ-ја који још нису јавно објавили. Како згодно. Испод је мало кода који вам је потребан да бисте ово урадили у ПХП-у. На серверу морате имати омогућен цУРЛ.
$ пинурл = "хттп: //апи..цом/в1/урлс/цоунт.јсон? цаллбацк = аццептЦоунт & урл ="; $ таргетурл = "хттп://ввв.аллреципес.цом/"; $ пинурл. = $ брандурл; $ хтмл = пулл_хтмл ($ пинурл); // добити хтмл кроз функцију која позива цУРЛ $ хтмл = стр_реплаце ("примаЦоунт (", "", $ хтмл); // уклони позив функције подаци су замотани у $ хтмл = субстр ($ хтмл, "", -1); $ = јсон_децоде ($ хтмл); // претворити из јсон-а у пхп низ $ пинцоунт = $ -> цоунт; ецхо $ пинцоунт; // ту је бројчана функција пулл_хтмл ($ урл) {$ цх = цурл_инит () ; цурл_сетопт ($ цх, ЦУРЛОПТ_УРЛ, $ урл); цурл_сетопт ($ цх, ЦУРЛОПТ_РЕТУРНТРАНСФЕР, 1); цурл_сетопт ($ цх, ЦУРЛОПТ_ЦОННЕЦТТИМЕОУТ, 10); $ хтмл = цурл_екец (цх); ;}
Као што видите, податке извлачимо са увијањем, а затим уклањамо позив функције који је омотан око јсон података. Тада је само питање јсон_децоде да се јсон подаци претворе у пхп низ. Воила! Завршено. До сада сам имао око 3.000 УРЛ адреса и подаци су се вратили без проблема. Понекад је било споро, није сигурно да ли је дизајнирано или не. Још увек повлачи и чува податке док ово куцам. Сигуран сам да ће у неком тренутку постојати нека врста ограничења стопе, али до сада нисам налетео на било који зид. Можда то ни не треба скривати од програмера, али колико знам, нема званичне подршке осим ако нисте један од ретких издавача са којима су одлучили да раде.
