blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
3
SLEDUJETE BLOG
Programátor
deadawp



Web scraper cez mikrokontróler
pridal deadawp 2.11. 2018 o 18:57



Web scraper je zariadenie, ktoré plní úlohu získavania informácii z danej webovej lokality.  Medzi najžiadanejšie informácie z webových lokalít sú e-mailové adresy, telefónne čísla. V poslednej dobe sa ale tento fenomén používa aj na rôzne štatistické úlohy, kedy web scraper získava údaje o produktoch, ich cene a tie vyhodnocuje.

Dokonca sa podobné zariadenia využívajú a to ako roboty na obchodovanie s kryptomenami, či bežnými menami. Robot v najvhodnejší čas(štatisticky) pedal a nakúpil inú - vhodnú menu so stúpajúcou tendenciou. V mojom prípade som sa zaujímal o získavanie informácii z webov a to konkrétne telefónnych čísel a e-mailových adries.


Prejdem teda priamo k realizácii. Využil som 3 druhy mikrokontrolérov. Pre weby na nešifrovanom HTTP protokole som použil Arduino s Ethernet shieldom (podporuje iba HTTP spojenia), pre weby pod HTTPS protokolom som použil dosku NodeMCU s integrovaným čipom ESP8266 a taktiež aj ESP32 Devkit v1 DOIT. ESP32 má oproti ESP8266 výhodu v tom, že disponuje dvomi jadrami, rýchlejšími o 160MHz a je možné túto dosku napojiť aj do podnikových sietí pod protokolom 802.1x (WPA/WPA2 Enterprise). 


Funkčnosť všetkých troch menovaných dosiek je až morbídne jednoduchá. Ich úlohou je iba pripojiť sa na cieľový web, odkiaľ chceme informácie získať a zdrojový kód po riadkoch posielajú na môj web, kde sa tieto informácie spracujú a za pomoci regulárneho výrazu získame informácie, ktoré potrebujeme. Nakoľko dosky nedokážu spustiť client-side script, teda Javascript, tak sú chránené pre JS aplikáciami na vyhľadávanie scraperov, iné zaraidenia typu Rpi dokážu zaznamenať. Moje dosky sa nezobrazia ani v Google Analytics, či sledovanom nástroji Smartlook.

Jediná možnosť zaznamenať informácie o doske, že na stránke bola je cez PHP kód, alebo iný serverovo orientovaný jazyk, na ktorý bol request vykonaný.  Je možné pristupovať na rôzne verzie HTTP hlavičiek od 1.0 cez 1.1 a s novšími doskami ESP32 aj na HTTP /2. Na mojom webe spracúvavam riadky zdrojového kódu iného webu cez PHP, kde mám vyskladaný requlárny výraz, ktorý som postupne vylepšoval a dnes som schopný zaznamenať tieto druhy e-mailových adries, ktoré sa na weboch vyskytujú v rôznych formátoch, ktoré ich majú uchrániť pred získaním robotmi, scrapermi, crawlermi.

Doskám neprekáža ani obsah za prihlásením, dokážu sa prihlásiť na web ako štandardný používateľ prostredníctvom HTTP Autentizácie - ak to host povoľuje. Postupom času je možné vytvoriť aj pokročilé aplikácie na záznam štatistických údajov z daného webu. Napríklad teplota z niektorej meteo stránky, kurz bitcoinu, štatistika športových zápasov a pracovať s týmito dátami je možné po celé roky.

Jednu stránku môže prehliadať aj niekoľko dosiek súčasne, obecne používam jednu návštevu raz za 6 - 24 hodín, ak sa jedná napríklad o stránky týkajúce sa správ, z čoho je možné následne tvoriť RSS feed, ktorý sa dá umiestniť na môj web, alebo mať podobné využitie. Spracované údaje sa môžu okamžite ukladať do databázy, tabuliek v xml, či csv formáte a tie použiť prakticky ihneď.

Dúfam, že sa vám článok páčil a naučili ste sa jedno z nových využití Arduina, ESP dosiek a otvoreného hardvéru celkovo. Získavanie dát je dnes žiadané a možno tento spôsob získavania dát bude mať za následok v budúcnosti vybudovanie fariem, kde sa podobný hardvér na získavanie využije a spracovanie dát prebehne už v backende danej farmy, ktorá môže s dátami obchodovať, tvoriť miliónové zoznamy e-mailových adries, telefónnych čísel.
*Použitie dát z iného webu a ich sťahovanie musí byť povolené aj z druhej strany :)
Niečo viac o mojom scraperi: https://arduino.clanweb.eu/web-scraper.php

Dostupné implementácie web scrapera sú dostupné na Githube: 
https://github.com/martinius96/WebScraper-ESP

 



Prístupov 8940
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDUJETE
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Oplatí sa teplovodivá pasta z Aliexpress...
[ 4.4.2024] (príspevkov 0)
Recenzia 3D podznačky BEZ KOMPRESE
[ 4.4.2024] (príspevkov 0)
GTA IV fix spustenia na Windowse 10 N
[ 24.3.2024] (príspevkov 0)
RFID DOMINATOR licencia na predaj
[ 4.1.2024] (príspevkov 0)
ATtiny85 Digispark - programovanie, použ...
[ 28.12.2023] (príspevkov 0)
Prečo by som si už nekúpil ESPD-35 2.0 /...
[ 26.12.2023] (príspevkov 0)
ATtiny85 - programovanie Arduino as ISP
[ 19.12.2023] (príspevkov 0)
MasterTherm - webscraper ESP32
[ 25.11.2023] (príspevkov 0)
RFID DOMINATOR 2.0 - rozdiely s 1.0
[ 15.11.2023] (príspevkov 0)
Rozšírená realita (AR) - IoT dashboard
[ 29.10.2023] (príspevkov 0)