Есімдер статистикасы, тағы да статистика комитеті сайтының мазасын аламыз және хромға экстеншін жазамыз :)

Аха, дәл солай. Мен бұл скриптымды жазып боламын дегенше 23-ке толдым, отпускке шығып келдім, жаңа жыл тойладым және статистика агенттігі сайтына редизайн жасап, кейін комитет болып өзгеріп кетті. Біраз болыпты ия.
Алғы сөз
Әңгіме неден басталды. Сонау 2014 жыл, kamyrov бауырым, бір постымда өтініш жасап еді, Ерлан есімі бойынша 100 жылға статистика шығарып берші деп. Ия жарайды, оның не айқайы бар екен деп, келісе салғам. Сосын ұмытып кетіппін. Қыркүйек айында есіме түсіп кетіп, бір демалысымды арнап, скриптын жазып шықтым да, мақала ретінде келесі апта жариялармын деп, тағы ұмытып кетіппін. Кейін скриптым тым қарапайым сияқты көрініп, тағы кішігірім функциялар қосып, интерфейсін реттеп қойып, әне міне жариялаймын деп отырғанда, Статистика комитеті сайтына редизайн жасап, элементтердің орнын ауыстырып жіберіпті. Менің скриптым бір күнде пайдаға жарамсыз болып қалды. Иғойш соны, кейін қарармын деп тағы ұмытып кетіппін.

Кіріспе
Алдынғы апта, бастығым «демалыста үйден оқырсың» деп «BIG DATA» деген кітап берген. Демалыста сол кітапты оқып отырып, шабыттанып кетіп, КЕНЕТ үлкен мәліметтерді өңдегім келіп кетті. Қандай мәліметтерді өңдесем болады деп отырғанда әлгі скрипт есіме түсіп кетті. D: дискінің түсібен, шаң-шаң папкалардың арасынан тауып алып, жұмыс үстеліме шығарып қойдып, шаңын сүртіп, жыртығын жамап, қателерін жөндеп, дайын өнім ретінде хромға экстеншін қылып жасап шығардым. Енді тағы бірдеңе болмай тұрғанда тез-тез жариялап жібрейін деп, мақаласын жазып жатырмын.


Негізгі бөлім
Бұл скрипт қандай қызмет атқарады?
Бұл скрипттың мақсалы былай. Мысалы: Бір есім енгізілуі керек, сосын жас аралығы енгізілуі керек, скрипт сол мәлімет бойынша статистика комитетінің сайтынан мәліметтерді ала отырып, әдемі етіп сол есім бойынша статистиканы график түрінде шығарып беру керек.

Скрипт қалай жұмыс жасайтынын білгім келмейді, маған тек жүктеп алатын жері керек десеңіз, мында басып, жалғастырып оқи беріңіз.


Скрипттың кодын ақтарып көрсетпей-ақ қояйын, тек қалай жұмыс жасайтынын қысқаша түсіндіріп, негізгі файлдарына тоқтаймын. Біздің хромға арналған extension келесі негізгі файлдардан құралған.

manifest.json
Бұл manifest ең негізгі файл. Бұл файлда extension туралы ақпарат, оның нұсқасы, анықтамасы, қандай скрипт қолданылатыны, қай сайтта қолданылатыны… барлысы осы файлда жазылады.

popup.html|.css|.js
Popup файл біздің extension-іміздің негізгі интерфейсі. Ол хромда мына жерде орналасады.

Popup терезедегі ұяшықтар: Статистика алғыңыз келген есімді жазасыз, жынысын таңдайсыз, және жас аралығын таңдайсыз (мысалы 15-30 жас аралығындағы Абылай есімбі ер адамдардың статистикасы керек) да, Статистиканы шығару деген батырманы басасыз.
Батырманы басқаннан кейін popup.js браузердің жергілікті қоймасына (window.localStorage[] массивіне) сіз көрсеткен мәндерді жазып қояды да, жаңа вкладкаға статистика комитетінің сайтын ашып жібереді.

background.js
Дәл сол кезде, фонда бақылап отырған background.js жаңа вкладка ашылғанда, бағанағы жергілікті қоймадағы мәліметтерді ашылған вкладкадағы сайтқа жалғап жібереді. Неге олай дейсіңдер ғо, себебі браузердің қауіпсіздік саясаты, бір сайттың айнымалыларын екінші сайтқа көрсетпейтін болғандықтан, осылай жасауға тура келеді. Тағы түсіндіріп кетейін, popup-та жазған мәліметтер жергілікті қоймаға жіберіледі, жергілікті қоймадағы мәліметті background скрипты алады да, ашық тұрған вкладкадағы сайтқа жібереді.

script.js
Бұл скрипт статистика комитеті сайты ашылғанда орындала бастайды. Скрипт бірінші тыңдайды, фондағы скрипттан бірдеңе келіп жатыр ма екен деп, фоннан мәліметтер келгеннен кейін барып, ары қарата орындалады. Бұл скрипт орындалуы алдынғы мақалада жазған әдісімдей, веб элементтерді Jquery арқылы түртіп отырып, сайттан біртіндеп мәліметтер аламыз.

script.css
Бұл соңғы нәтижені шығаруға арналған интерфейстің стильі.


Жүктеп алу
Барлығын түсіндіріп болған сияқтымын. Скрипттің өзін мына жерден жүктеп ала аласыз. Скриптты орнату үшін Расширения вкладкасын ашып, жүктеп алған файлыңызды тінтуірмен сол жерге сүйреп әкелсеңіз болады. Немесе қалай қолданып, орнату керектігін мына видеоны қарасаңыз болады.


ЕСКЕРТУ: Мысалы «Мақсат» пен «Максат» екеуі екі түрлі ат болып саналады. Сол сияқты «Айгерім», "Әйгерім", «Айгерим» де үшеуі үш түрлі статистика көрсетуі мүмкін. Сондықтан, есіміңізде қазақша әріптер болса, толықтай статистика алғыңыз келге бірнеше нұсқада жазып көріңіз.

P.S немесе кішігірім сәйкессіздіктер
Барлық мәліметтер статистика агенттігінің сайтынан алынатын болғандықтан, бұл скрипт сайт не қайтарады, соны өңдеумен ғана айналысады. Айта кететін жай, 2008-ден бері қарата «Мен сияқты неше адам бар?» сервисі бойынша мәліметтер тым аз сандарды көрсетіп тұр. Мысал ретінде сайттың екі сервисінің мәліметтерін салыстырып көрейік. «Танымал есімдер» сервисі бойынша 2014 жылдың тек қаңтар айында ғана Ерасыл есімді ұл балалардың 283-і тіркелген екен.

Ал «Мен сияқты неше адам бар?» сервисі арқылы 1 жастағы Ерасыл есімді ер азаматтар санын тексеріп көрсек, 50 адам деп көрсетіп тұр :)

Хммм, қызық. Ощм бұл бір.

Екінші түсініксіз жағдай, мысалы Абылай есімді 35-тегі ер азаматтар тізімін іздесем, бірінші қатарда мен сияқты 37 адам бар делінген (яғни Абылай есімді, жасы 35-тегі ұлты қазақ, Қазақстан республикасының азаматы), ал төртінші қатарда Сіздің атыңызбен Қазақстан бойынша ұлты ҚАЗАҚ 7722 адам, соның ішінде 35 жаста 45 адам тіркелген дейді. Сонымен 37 ма әлде 45 па? Әлде мен дұрыс түсіндей жатырмын ба? Мен скриптымда бірінші қатардың мәнін ғана алып кеттім.



Қооой мыжи бермей, әңгімемді аяқтайын. Сау болыңыздар.
Ал мынау Нұрсұлтан есімі бойынша 1980-2000 жыл аралығындағы статистика.

  • +6
13 пікір
raimbek
мен туылған жылы Райымбек есімі аз болған екен, кейін көбейіп кетіпті ))
kamyrov
Абылай қатырдың, мақала керемет болып шықты. Видеоның фондық музыкасы үшін бөлек алғысымды айтамын)
aigerim_keulimzhai
Big Data — нағыз көкейкесті бағыт!
Тек тіркелген қолданушылар ғана пікір қалдыра алады.