1. Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.
    Сокриј

Туторијал Data mining со Octoparse, Honeyland номинација за Оскар? и малку Excel

Дискусија во форумот 'Туторијали' започната од Avid, 27 oктомври 2019.

  1. Avid

    Avid
    Unbeatable

    3,788
    5,544
    21 Јануари 2009
    Предговор: Ова сигурно не е најдобро, најбрзо и најефикасно решение за „проблемот“ за кој е темава. Не сум експерт, сигурно поупатените ќе забележат можност за подобрување во одредени делови. А тоа се гледа и во проблемите што ќе произлезат. :D

    Здраво,
    Неверојатно многу се радувам што оваа година македонски филм е сериозен кандидат за номинација за Оскар во групата Best International Feature Film (колку се релевантни Оскарите за величината на еден филм е друга тема). За оние што живеат под камен, тоа е одличниот филм на Тамара Котевска и Љубомир Стефанов - Honeyland (Медена земја)
    upload_2019-10-26_21-11-27.png

    93 земји имаат поднесено филм за горе споменатата категорија.
    На 16 декември 2019 ќе се знае кои 10 ќе бидат во трката а во јануари 2020 ќе се знае кои 5 ќе бидат номинирани.
    Јас си го поставив прашањето „Ако се земе в предвид оценката и бројот на гласови на IMDB, колку шанси има македонскиот филм Honeyland да биде барем во потесниот избор на 10 филмови“?
    IMDB може да е и тотално неважен за предвидување затоа што на минати Оскари победувале тотални анонимуси, но сепак...

    Бидејќи сме 2019, нормално дека нема секој од тие 93 филмови посебно да го отвораме па да копираме колкава оценка има и колку гласале. Барем не ние, тоа би го правел компјутерот.

    За да дојдеме на „лесен“ начин до одговорот на моето прашање, ние треба да се запознаеме со Data mining поточно Web mining или Web scraping.

    Web mining претставува процес на автоматизирано собирање податоци од веб страни, каде што податоците имаат иста или слична структура, и потоа да ги прикаже на еден разбирлив начин, најчесто во вид на табела.
    Примери за Web mining: земање коефициенти од различни кладилници, земање цени од различни сајтови, проверување од кои земји ти доаѓаат изгледаните и логираните 1000 филмови затоа што експортот на IMDB дава колони со се освен земјата, И ТАКА НАТАМУ :D

    Колку веб мајнингот е легален и колку штети на серверите е друга тема за разговор.

    Сега, почнуваме од тука
    List of submissions to the 92nd Academy Awards for Best International Feature Film - Wikipedia

    На овој линк може да се забележи дека имаме табела која ги содржи сите 93 филмови поднесени од земјите (Слика бр. 1), со нивен хајперлинк до посебна Википедија статија за филмот (слика бр. 2), на чиј крај треба да има линк до IMDB (External Links).

    Слика бр. 1

    upload_2019-10-26_21-34-47.png

    Слика бр. 2
    upload_2019-10-26_21-35-21.png

    Што сакаме да направиме?
    Сакаме автоматски со помош на web mining да ги земеме линковите од IMDB за секој филм посебно (веројатно ги има и на друго место линковите од IMDB да не се мачиме преку Википедија но, ајде...), а пак од таму да ги земеме оценките и бројот на гласови.

    Ќе ни треба некаков софтвер, и јас се одлучив да го користам Octoparse.

    Ако гуглате за Data mining ќе наидете на Python и BeautifulSoup а и на одличниот адд он за Хром, Data scraper но за нив ќе оставам можност на некој друг, можеби некогаш.

    Octoparse е алатка која ќе ни овозможи web mining.
    Симнете го Octoparse од тука: (Ќе треба да се регистрирате со меил а-у дури и за бесплатната верзија. Бесплатната верзија има ограничувања.)
    Download our free web scraping tool - get started with web scraping today | Octoparse
    Кликнете на Octoparse 7.2.6
    upload_2019-10-26_21-47-56.png

    Кликнете Open with
    upload_2019-10-26_21-49-4.png

    За Octoparse ви треба .NET Framework 3.5 SP1
    Ако немате, стартувајте преку setup.exe
    Ако имате, стартувајте преку OctoparseSetup.msi
    upload_2019-10-26_22-3-34.png
    Кликнете next
    upload_2019-10-26_22-9-24.png

    Се согласувате, Next
    upload_2019-10-26_22-9-49.png

    Next
    upload_2019-10-26_22-10-7.png
    Бирате локација, дали за сите акаунти на ОС и може да видите k0lko ko6ta!? ceeena? (spoiler alert: 250 мега)
    upload_2019-10-26_22-10-53.png
    Клоузоваќа
    upload_2019-10-26_22-12-7.png

    Сега на Десктоп треба да имате
    upload_2019-10-26_22-12-39.png

    Пушчете го!
    Ви текнуе коа ви кажав дека треба регистрација и мислевте дека ќе ја избегнете?
    upload_2019-10-26_22-13-17.png

    Пишете ги вашите User и Pass и кликнете Login

    Добредојдовте! Кликнете I'm good ако не сте настинати (го изгубив скриншотот, сори).
     
    Последна промена: 27 oктомври 2019
    На Taurus, Dinamit, moongose и уште 3 други им се допаѓа ова.
  2. Avid

    Avid
    Unbeatable

    3,788
    5,544
    21 Јануари 2009
    Кликнете Dashboard горе лево па New Task па Advanced mode
    upload_2019-10-27_0-32-59.png

    Кај Website направате paste на линкот од Википедија погоре па кликнете Save url
    upload_2019-10-27_0-33-21.png

    Сега ќе се отворат чудесии. Во долната половина скролајте додека не дојдете до табелата и кликнете на првиот филм. Потоа на тој под него. Внимание: кликнете на текстот а не на позадината на ќелијата. Octoparse ја користи својата кристална топка и предвидува што сакаме да направиме и ни пишува во долниот десен агол дека има селектирано 94 ствари.
    Ако дојдеме со маусот врз тие долу десно во жолтото, ќе видиме дека ако сакаме да ги екстрактираме линковите, ќе треба да кликнеме на Extract the URL's of the selected elements така да кликаме на тоа.

    upload_2019-10-27_0-34-12.png

    Сега кликаме Save and Run
    upload_2019-10-27_0-34-26.png

    Кликаме Local Extraction
    upload_2019-10-27_0-34-37.png

    Octoparse си ја прави својата магија и завршува. Одлично! Кликаме Export data
    upload_2019-10-27_0-34-48.png

    Одбираме Excelоваќа или нешо друго ако сакаме и кликаме Export data
    upload_2019-10-27_0-35-2.png
     
    Последна промена: 27 oктомври 2019
    draganamon, Oktar и на Multipass им се допаѓа ова.
  3. Avid

    Avid
    Unbeatable

    3,788
    5,544
    21 Јануари 2009
    Одбираме локација каде да се зачува нашиот Ексел фајл кој ги содржи сите Wikipedia линкови од филмовите
    upload_2019-10-27_0-37-45.png

    Кликаме финишоваќа
    upload_2019-10-27_0-37-55.png

    Исклучуваме се што е од Octoparse.

    Кога ќе го отвориме Ексел фајлот, ќе видиме дека ги имаме линковите од Википедија
    upload_2019-10-27_0-38-8.png

    Сега ги селектираме линковите од ќелија a2 до a95 и кликаме copy
    upload_2019-10-27_0-38-23.png

    Го пуштаме Octoparse повторно и кликаме + Task кај Advanced mode
    upload_2019-10-27_0-38-34.png

    Правиме paste и кликаме на Save URL
    upload_2019-10-27_0-38-45.png

    Сега повторно во втората половина долу, скроламе најдолу и наоѓаме External Links и кликаме на малата стрелкичка веднаш десно од Ayesha
    upload_2019-10-27_0-39-3.png

    Па кликаме долу десно Extract the URL of the selected link
    upload_2019-10-27_0-39-16.png

    Кликаме Save and Run
    upload_2019-10-27_0-39-25.png

    Кликаме Local extraction
    upload_2019-10-27_0-39-33.png

    Сега го чекаме Octoparse да ја заврши својата магија. Овој пат ќе биде релативно бавен затоа што треба да отвори 90-ина страни. Кај мене особено бавен зш сум деген и го правам ова на лошо сетирана виртуелка и/или можеби имаше некој сетинг за побрзо отворање на страните. Не знам. Снајдете се. Тука може да пуштиме и едно хехенце (мануелно побрзо ќе го решевме „проблемов“ hhhhh)
    Во процесов, Octoparse ќе наиде на проблеми со некои линкови а што-како-зошто обидете се да дознаете сами.

    71 линк успешно изваден, кај 23 фејлна. Кликаме export дата, Ексел итн.
    Потоа не заборавајте да ги експортнете и тие 23 што фејлнаа, ќе пробаме после пак да екстрактираме од нив.
    upload_2019-10-27_0-40-25.png

    Кога ќе ги отвориме во Ексел демек успешните 71 линк, ќе видиме дека фејлнал Octoparse кај 3 филма ама веројатно не по негова вина туку затоа што нема imdb external link на крајот. Или пак има ама има повеќе линкови.

    upload_2019-10-27_0-41-9.png

    И сега ја би помислил дека лесно можам да дознаам според првата табела за кои 3 филма станува збор но не! Всушност редовите се сменети затоа што нели 23 фејлнаа и тоа не значи дека ако овде 19, 31 и 41 се фејлнати, тие редови би биле од првиот Ексел... така да овие 3 ќе ги баталиме сега и ќе се обидеме тие 23 што фејлнаа да ги земеме.

    Ги копираме линковите од тие фејлнатите од вторава колона B


    И знаете сега, отворате Octoparse, task, paste линковите, кликате долу кај стрелката Save and run итн.
    Сега ќе испадне демек 4 успеал, 18 фејлнал а у тие 4 само еден е IMDB линк...
    Ги баталуваме тие 3 фејлнати, пробуваме пак овие 18
     
    Последна промена: 27 oктомври 2019
    draganamon, Oktar и на Multipass им се допаѓа ова.
  4. Avid

    Avid
    Unbeatable

    3,788
    5,544
    21 Јануари 2009
    Забележуваме дека е доста поуспешен овој пат
    [​IMG]

    Ги копираме имдб линковите и ги ставаме со тие другите успешни и имаме или барем јас имам 84 имдб линкови. Од 10 ни фалат, а од кои 10, дознавање... мех мех...
    [​IMG]

    Сега овие 84 линкови му ги пуштаме на Octoparse на истиот начин кој беше објаснет претходно. Со тоа што, сега кликаме на името на филмот, на оценката, и на бројот на гласови. За секое од овие кликаме Extract text of the selected element. Внимавајте со кликањава може да се утне. Прозорот на крај треба да ви изгледа вака. Горе е важно да ги имате тие Title, Time и Field1. Кликате save and run долу десно
    [​IMG]

    Octoparse си ја прави својата магија.
    Сега добивме една убава Ексел табела на која треба само да и додадеме филтер и да сортираме. Ги селектираме насловните ќелии на колоните и кликаме во ќошот горе десно Sort & Filter и одбираме Filter
    [​IMG]

    Исто така забележуваме зелено триаголниче во ќошот на ќелиите со оценки и број на гласови. Ова значи дека Ексел не ги смета за бројки и ќе треба да ги поправиме. Ги селектираме ќелиите, одиме во ќошот кај извичникот и кликаме Convert to number
    [​IMG]

    Сега кликаме на стрелката во ќелија B1 кај Time и одбираме Largest to smallest
    Ги бришеме празните редови.
    Забележуваме дека Honeyland го дели седмото место по оценка!
    [​IMG]

    Сега сортираме по број на гласови и гледаме дека Honeyland е 15 :(
    [​IMG]

    Ако гласаат само ( :D ) 500 од вас, со десетки, ќе рипнеме и на оценка и на број на гласови и ќе бидеме во топ 10!!!
    Има време до декември. Ајмо. Тие 10 што фејлнавме ќе претпоставиме дека се тапа филмови.

    Gooooooooo Honeylannnnnnnnnd.

    Ви благодарам и извинете за пропустите.
    Добра ноќ.
     
    Последна промена: 27 oктомври 2019
    На Necromancer, vlavot, draganamon и уште 14 други им се допаѓа ова.
  5. mrkela2009

    mrkela2009
    Gaining Experience

    152
    169
    24 Јануари 2010
    Машко
    "93 земји имаат поднесено филм за горе споменатата категорија.
    На 16 декември 2019 ќе се знае кои 10 ќе бидат во трката а во јануари 2020 ќе се знае кои 5 ќе бидат номинирани.
    Јас си го поставив прашањето „Ако се земе в предвид оценката и бројот на гласови на IMDB, колку шанси има македонскиот филм Honeyland да биде барем во потесниот избор на 10 филмови“?
    IMDB може да е и тотално неважен за предвидување затоа што на минати Оскари победувале тотални анонимуси, но сепак...

    Бидејќи сме 2019, нормално дека нема секој од тие 93 филмови посебно да го отвораме па да копираме колкава оценка има и колку гласале. Барем не ние, тоа би го правел компјутерот.

    За да дојдеме на „лесен“ начин до одговорот на моето прашање, ние треба да се запознаеме со Data mining поточно Web mining или Web scraping."




    Who Votes?

    All voting for the Oscars — whether that's voting for a movie to be an Oscars nominee in a particular category or voting to find the winner from the announced list of nominees— is conducted by active and lifetime Academy members.

    In 2016, however, the Academy's president Cheryl Boone Isaacs announced rules dictating who could be considered an active member. Under the new rules, Academy members are only considered active if they've worked in or for at least one motion picture in the 10 years prior to voting. If an Academy member has been active during three 10-year terms, then that Academy member will receive lifetime Oscars voting rights. Any Academy member who has won or been nominated for an Oscar also receives lifetime voting rights.

    In January 2017, there were close to 7,000 voting members of the Academy, according to Variety.

    незнам колку можеме да допринесеме за влез на медена земја во топ 10,според ова правило само членови на академијата може да гласаат.

    Sent from my Redmi Note 4 using Tapatalk
     
  6. Avid

    Avid
    Unbeatable

    3,788
    5,544
    21 Јануари 2009
    Да, да, напоменав...
    Но сепак мислам дека колку-толку влијае IMDB :)
     
  7. Multipass

    Multipass
    Gaining Experience

    159
    287
    1 ноември 2015
    Машко
    А маките кога ти требаат податоци брзо. :) Секоја чест за темава.

    Во data mining се заљубив кога работев на еден проект и исто вака ми требаше од илјадници ствари податоци, иако алатките што ги наброја ми беа и повеќе од доволни да остварам брзи резултати, сепак многу ми се допадна концептот и заради тоа започнав темелно и со Python и BeautifulSoup библиотеката да се бафтам.

    Искрено OctoParse никогаш не ми се допаднал, непотребно е комплициран во неговата едноставност. Web scraper додатокот за Chrome е многу поелегантен, можеби на почеток треба половина час или повеќе за да се запознаеш со можностите на алатката, меѓутоа откако ќе ја разбереш логиката на crawling-от можеш да оствариш далеку подобри резултати за пократко време, а е и далеку побрз. И него сеуште го користам вака кога ми требаат брзи резултати место да користам скрипти со Python.

    BeautifulSoup е најбрз но за динамични страници мораш со Chromium да го искомбинираш.

    Уште една замерка што ја имам кон OctoParse и сличните вакви програми е што скоро кај сите не можеш во целост да ги купиш/поседуваш, туку мораш да плаќаш месечна претплата или имаш лимит на месечни scrape queries што можеш да ги оствариш и после се доплаќа за секој поединечно.

    Без такви лимити од тоа што имам пребарувано е WebHarvy програмата, си плаќаш 200/250 долари и твоја е засекогаш без лимити, е сега и оваа е ваква непотребно поедноставена како OctoParse, но има можност за автоматизација на scraping процесот. Тоа е единствената замерка на Web scraper додатокот за Chrome, што не може да се намести автоматски да се покренува процесот.

    За тие што се љубители на data science, им ја препорачувам и Pandas библиотеката за Python. Систем решение изработено заедно во Python, RegEx, Pandas, BeautifulSoup и Chromium чуда може да прави.

    Поздрав.
     
    Necromancer, Avid и на Маша им се допаѓа ова.
  8. moongose

    moongose
    Unstoppable

    1,901
    2,141
    19 Јули 2013
    Не иде тоа баш така, имдб имаат заштита од вакви наменски гласања. Ќе ја симнат тежината на останатите високи оценки и ќе падне просекот со што само ќе му наштети на насловот.
     
  9. Avid

    Avid
    Unbeatable

    3,788
    5,544
    21 Јануари 2009
    Добро, може и некоја 9ка да стават па и осмица на крај краева :)
     
  10. Melisandre

    Melisandre
    Gaining Experience

    83
    131
    6 Мај 2019
    Женско
    Ах, Octoparse. Much ado about nothing.
    Install - uninstall во рок од два часа.
    Ми е криво само за времето и интернетот што си ги потрошив.
     
  11. Avid

    Avid
    Unbeatable

    3,788
    5,544
    21 Јануари 2009
    Врхунски аргументи.
    Што сакаше да правиш, за што беше „рекламиран“ тука Octoparse и зошто не успеа?
    Што правеше 2 саати?
    Нема никакво "ado". Го користев затоа што со него најлесно се снајдов за ситуацијава и за уште една пред година-две.
    Имаш користено нешто друго? Зошто сакаше да го пробаш Octoparse, што од овде те натера?
    Имаш некоја поедноставна алатка за data mining?
    Ако имаш, слободно сподели :)
     
  12. Melisandre

    Melisandre
    Gaining Experience

    83
    131
    6 Мај 2019
    Женско
    Го пробав чисто од љубопитство. Кога имав време да се занимавам.
    Long story short: од 100 податоци што требаше да ги најде извади дури 18. И тоа со повеќекратни проби.
    За цената ич нема ни да коментирам.

    За споредба, Web Scraper ми даде 41.

    Напоменав much ado поради тоа што Google ми го исфрли прв, и се изначитав на сајтови за него. Можеби ако си платам друга ќе биде прикаската, не знам. Ама нејќам. :)

    Не е само тој, има и други, туку тој еве се спомна.
     
    На Avid му/ѝ се допаѓа ова.
  13. moongose

    moongose
    Unstoppable

    1,901
    2,141
    19 Јули 2013
    Во случајов, можеше директно во ексел со Power query да ја отвориш оваа страница и ќе скокнеше едно 30 чекори на почетокот.
    Ама како показна вежба е ок.
     
    На Avid му/ѝ се допаѓа ова.
  14. Avid

    Avid
    Unbeatable

    3,788
    5,544
    21 Јануари 2009
    Да, го „предвидов“ и ова со ова подолу :D
     
  15. Multipass

    Multipass
    Gaining Experience

    159
    287
    1 ноември 2015
    Машко
    Не си ги исконфигурирал како што треба, со правилна конфигурација и двата програми сите податоци ќе ти ги извадеа.
     
Слични теми
  1. ivica_b
    Одговори:
    8
    Прегледи:
    1,512
  2. pwned
    Одговори:
    4
    Прегледи:
    641
  3. StefAngel
    Одговори:
    11
    Прегледи:
    1,523
  4. Skorp
    Одговори:
    4
    Прегледи:
    574
  5. gOJDO
    Одговори:
    4
    Прегледи:
    718
Вчитување...

Сподели

Вчитување...