Webin kaapiminen

Web scraping (tai scraping, tai scraping ← englanniksi  web scraping ) on tekniikka verkkotietojen saamiseksi poimimalla se web-resurssisivuilta [1] . Tietokoneen käyttäjä voi tehdä web-kaappauksen manuaalisesti, mutta termillä tarkoitetaan yleensä automatisoituja prosesseja, jotka on toteutettu koodilla, joka tekee GET-pyyntöjä kohdesivustolle [2] .

Web-kaappausta käytetään web-sivujen syntaktiseen muuntamiseen käyttökelpoisempiin muotoihin [3] . Verkkosivut luodaan tekstipohjaisilla merkintäkielillä ( HTML ja XHTML ) ja sisältävät paljon hyödyllistä tietoa koodissa. Suurin osa verkkoresursseista on kuitenkin tarkoitettu loppukäyttäjille eikä automatisoituun käytettävyyteen, joten verkkosisältöä "puhdistavaa" tekniikkaa on kehitetty.

Sivun lataaminen ja katselu ovat tekniikan tärkeimpiä komponentteja, ne ovat olennainen osa tiedonkeruuta [4] .

Historia

Verkkokaappauksen historia alkaa Internetin tulosta.

Menetelmät

Web scraping on aktiivisen kehityksen alue, jossa jaetaan kunnianhimoinen ihmisen ja tietokoneen vuorovaikutusaloite, joka vaatii läpimurtoja verkkosivujen tekstin käsittelyssä ja ymmärtämisessä tekoälyn avulla. Nykyaikaiset kaavinratkaisut vaihtelevat ad hoc -ratkaisuista, jotka vaativat ihmisen ponnistelua, täysin automatisoituihin järjestelmiin, jotka pystyvät muuttamaan kokonaisia ​​verkkosivustoja strukturoiduksi tiedoksi tietyssä muodossa. Ihannetapauksessa sivusto, jonka tiedot on noudettava, tarjoaa ne API:n kautta, jossa on sallittu verkkotunnusten välinen käyttö [13] . Tapauksissa, joissa näin ei ole, voidaan käyttää muita kaavintamenetelmiä.

"Kopioi-liitä" manuaalisesti

Joskus jopa paras verkkokaappaustekniikka ei voi korvata ihmisen manuaalista työtä, kun käyttäjä kopioi ja liittää tekstiä. Joissakin tapauksissa tämä on ainoa mahdollinen ratkaisu, esimerkiksi silloin, kun verkkosivustot estävät verkon kaapimisen ja tekstin kopioimisen.

Välityspalveluun soittaminen

Jos sivusto on html- tai xml-dokumentti ja sille sallitaan verkkotunnusten väliset pyynnöt, voit saada asiakirjan sisällön pyynnöllä johonkin Internetissä olevista välityspalveluista [13] .

Tekstin kuvioiden sovitus

Yksinkertainen mutta tehokas tapa saada tietoa verkkosivuilta. Voi perustua UNIX-grep-komentoon (hae yhdestä tai useammasta tiedostosta mallia [14] ) tai ohjelmointikielten säännölliseen lausekkeeseen (kuten Perl tai Python ).

HTML:n jäsentäminen

Monet verkkosivustot koostuvat suuresta määrästä sivuja, jotka on luotu dynaamisesti strukturoidusta peruslähteestä, tietokannasta. Saman luokan tiedot koodataan yleensä samankaltaisille sivuille käyttämällä yhteistä komentosarjaa tai mallia. Tiedonlouhinnassa kääreeksi kutsutaan ohjelmaa, joka havaitsee tällaiset kuviot tietystä tietolähteestä, poimii sen sisällön ja muuntaa sen muotoon. Oletetaan, että järjestelmän jäsennetyt sivut ovat yhteisen mallin mukaisia ​​ja että ne voidaan helposti tunnistaa yhteisen URL-mallin avulla [15] . Lisäksi joitain puolirakenteisia datakyselykieliä, kuten XQuery ja HTML, voidaan käyttää HTML-sivujen jäsentämiseen sekä sivun sisällön poimimiseen ja muuntamiseen.

Asiakirjaobjektimalli ( DOM)

DOM on ohjelma, jossa on API HTML- ja XML-dokumenteille [16] . Upottamalla täydellinen verkkoselain, kuten Internet Explorer tai Mozilla Browser Control, ohjelmat voivat hakea asiakaspuolen komentosarjojen luomaa dynaamista sisältöä. Kaapimalla DOM-puuta voit käyttää tietoja sen yksittäisistä osista [17] .

Vertikaalinen tietojen yhdistäminen

Useat yritykset ovat kehittäneet erityisiä verkkoalustoja, jotka luovat ja hallitsevat monia botteja. Botit toimivat ilman suoraa ihmisen väliintuloa ja samalla niiden vuorovaikutus käyttäjien kanssa tapahtuu ilman viestintää kohdesivuston kanssa. Valmistautuminen sisältää tietopohjan luomisen, jonka ansiosta botien työ on mahdollista. Botit kokoavat tietoja kunkin resurssin yksittäisistä ominaisuuksista määritettyjen ehtojen mukaisesti saatujen ominaisuusarvojen vertailua ja analysointia varten [18] . Alustan luotettavuus mitataan vastaanotetun tiedon laadulla (yleensä kenttien määrällä) ja sen skaalautuvuudella (jopa satoja tai tuhansia sivustoja). Tätä skaalautuvuutta käytetään pääasiassa muuntamaan tietoja, jotka sijaitsevat pitkän sivustokoodin lopussa, jonka sisällön kerääminen tavanomaisten aggregaattoreiden mielestä on vaikeaa tai liian aikaa vievää.

Semanttisen huomautuksen tunnistus

Jotkin sivut voivat sisältää metatietoja tai semanttisia merkintöjä ja merkintöjä, jotka voidaan poimia semanttisten huomautusten tunnistusmenetelmällä sellaisilta sivuilta [19] .

Sivun jäsentimet

Tekoälyn alalla on meneillään kehitys, kun konenäkö tunnistaa datan, tulkitsee ne ikään kuin henkilö tekisi sen ja poimii ne [20] .

Web-kaappaustekniikka on kätevä verkkosivujen tietojen kääntämiseen kätevämpiin muotoihin, mutta on olemassa myös jäsennysmenetelmiä , jotka voivat ratkaista ongelman avoimen API:n tapauksessa tuottavammin [21] .

Sovellus

Web-kaappauksesta on tullut tärkeä työkalu automatisoidussa tiedonkeruussa Internetissä. Se on osa markkinointitietojärjestelmiä (MIS) tietokantojen tai tietopankkien muodostamista varten, minkä ansiosta tarvittavat tiedot toimitetaan taulukkoraporttien muodossa [22] . Hakukoneteknologiat, sisällön kokoajat ovat myös yhteydessä verkkojen kaavintaohjelmiin [23] .

Web-raapiminen on tiedon kopioinnin muoto, jossa tiettyjä hankkimiseen tarvittavia tietoja kerätään Internetistä ja kerätään yleensä paikalliseen keskustietokantaan tai laskentataulukkoon myöhempää poimimista tai analysointia varten [24] . Web-kaappausohjelmisto voi käyttää World Wide Webiä suoraan käyttämällä Hypertext Transfer Protocol -protokollaa sekä verkkoselaimen kautta.

Tuloksena oleva sivun sisältö voidaan jäsentää, muotoilla uudelleen, kopioida laskentataulukkoon ja niin edelleen. Web-kaappaus ottaa yleensä osan sivulta dataa käyttääkseen sitä johonkin muuhun tarkoitukseen. Esimerkki kaapimisesta voi olla etsiminen eri sivustoilta ja nimien, puhelinnumeroiden, sähköpostiosoitteiden, tietyn aiheen URL -osoitteiden kopioiminen yhteystietotietokannan luomiseksi.

Pohjimmiltaan verkkokaapijat ratkaisevat seuraavat tehtävät:

  • Etsi tarvittavat tiedot;
  • Tietojen kopioiminen Internetistä;
  • Sivustojen päivitysten seuranta [25] .

Web-kaappausta voidaan käyttää itsenäisenä työkaluna ja se voi toimia kohdistettuna tiedonhakuun, se voi myös tulla osaksi web-kehitystä, jota käytetään webin indeksoimiseen, verkkolouhintaan ja tiedon louhintaan, online-seurantaan, hintamuutoksiin ja vertailuun, kilpailun havainnointiin. ja muu tiedonkeruu.

Ohjelmat ja analogit

Web-kaappausohjelmia ei ole suunniteltu tavallisille käyttäjille, niiden kanssa työskentelevät ohjelmoijat, jotka useimmiten kirjoittavat koodeja tiettyihin tehtäviin. Internetistä löytyy erilaisia ​​työkaluja ja työkaluja web-kaappaukseen: kirjastot, sovellukset, verkkopalvelut, pilvipalvelut, DaaS-tyyppiset palvelut, selainlaajennukset. Yksi suosituista kaavintatyökaluista on Scrapy (se on ilmainen ja avoimen lähdekoodin kehys [26] ) . Suosituin kaupallinen alusta on Import.IO [27] .

Kehitystä on olemassa, esimerkiksi Nokogiri, joka on luotu erityisesti Ruby -ohjelmointikielelle [21] , kaavin, joka suorittaa tietyn tehtävän useista mahdollisista: Outwit Hub [28] kerää tekstiinformaatiota ja jakaa sen solujen kesken. Uudet verkkokaappauksen muodot sisältävät verkkopalvelimien datasyötteiden kuuntelemisen. Esimerkiksi JSONia käytetään yleisesti siirtomekanismina tietojen tallentamiseen asiakkaan ja verkkopalvelimen välillä.

Tietojen saaminen sivustoilta API-käyttöä käyttämällä on myös tehokasta. Yritykset, kuten Amazon AWS ja Google Google (API Discovery -palvelu), tarjoavat loppukäyttäjille ilmaisia ​​kaavintatyökaluja, palveluita ja julkisia tietoja.

Tapoja suojata ja ohittaa lukkoja

On olemassa menetelmiä, joilla estetään verkkosivustoja kaappamasta verkkoa, kuten havaitsemalla ja estämällä robotteja indeksoimasta (katsomasta) sivujaan. Vastauksena on olemassa web-kaappausjärjestelmiä, jotka perustuvat DOM-jäsennykseen, tietokonenäön ja luonnollisen kielen käsittelytekniikoihin simuloimaan ihmisen selailua verkkosivujen sisällön keräämiseksi offline-analyysiä varten.

Järjestelmänvalvojat voivat estää verkon kaavintaohjelmat estääkseen kilpailijoita käyttämästä tietoja. Kaavintaohjelmat voidaan tunnistaa seuraavista ominaisuuksista:

  • Epätavallinen käyttäjien käyttäytyminen (esimerkiksi satoja siirtymiä sivuston uudelle sivulle joka sekunti);
  • Toistuvat epäselvät toimet (käyttäjä ei suorita samoja tehtäviä yhä uudelleen);
  • Sellaisten linkkien käyttö, jotka sisältyvät vain verkkosivuston koodiin ja joita tavalliset käyttäjät eivät näe [29] .

Estomenetelmät:

  1. Estä pääsy sivustolle tietystä IP-osoitteesta (esimerkiksi kun robotti on käynyt läpi yli 100 sivua istuntoa kohti);
  2. Estä käyttäjätunnus, joka sivuston ylläpitäjän näkökulmasta on hyökkääjä, joka tulee sivustolle todentamalla [25] .

Eston ohittamiseksi web-kaappausohjelmien on suoritettava sivustolla toimintoja, jotka ovat mahdollisimman lähellä käyttäjän käyttäytymistä. Siksi sinun tulee ajoittain kiertää IP-osoitteita, vaihtaa käyttäjäagentin tunniste ( User Agent ) ja määrittää verkkokaapin osumien nopeus optimaaliseksi ja osumien välillä - rakentaa sivustolle satunnaisia ​​toimintoja, jotka eivät herätä epäilyksiä [29] .

Lailliset ominaisuudet

Verkkoraapimisen oikeudellisia näkökohtia säätelee henkilötietojen suojaa koskeva lainsäädäntö . Venäjällä säädösasiakirja on 152 liittovaltion laki "henkilötiedoista" [30] . Euroopan unionissa kaavinten on täytettävä yleisen tietosuoja-asetuksen (GDPR) [31] vaatimukset . Ranskassa on ollut huhtikuusta 2020 lähtien voimassa kansallisen tieto- ja vapauskomission (CNIL) julkaisema erillinen säädösasiakirja, joka rajoittaa henkilötietojen keräämistä avoimista lähteistä [32] .

Katso myös

Muistiinpanot

  1. Boeing, G.; Waddell, P. Uusia näkemyksiä vuokra-asuntomarkkinoista Yhdysvalloissa: Webin kaapiminen ja Craigslistin vuokraluetteloiden analysointi // Journal of Planning Education and Research. - 2016. - doi : 10.1177/0739456X16664789 . - arXiv : 1605.05397 .
  2. Web-kaappaus ja naiivi Bayes-tekstin luokittelu . cyberleninka.ru. Haettu 14. tammikuuta 2020. Arkistoitu alkuperäisestä 13. joulukuuta 2019.
  3. Tyutyarev A. A., Solomatin D. I. Kehyksen kehittäminen verkkokaapimien luomiseksi  // Tieteen ongelmat. - 2016. - V. 3 , nro 13 . Arkistoitu alkuperäisestä 25. tammikuuta 2021.
  4. Vargiu & Urru. Web-kaappauksen hyödyntäminen verkkomainonnan yhteistyöhön perustuvassa suodatuspohjaisessa lähestymistavassa  //  Artificial Intelligence Research. - 2013. - Nro 2 (1) . - doi : 10.5430/air.v2n1p44 .
  5. World Wide Web Wanderer . Haettu 9. tammikuuta 2020. Arkistoitu alkuperäisestä 3. tammikuuta 2020.
  6. Ensimmäinen verkkorobotti - 1993 . Haettu 9. tammikuuta 2020. Arkistoitu alkuperäisestä 19. tammikuuta 2021.
  7. Hakukoneen tulossivun esitystyylin vaikutus käyttäjätyytyväisyyteen ja silmien liikkeisiin | Semanttinen tutkija
  8. Valeria Cherepenchuk, Irina Lomakina, Natalya Serdtseva. Tekniikat, jotka muuttivat maailmaa . - Litraa, 2019-12-13. — 322 s. - ISBN 978-5-04-220661-0 .
  9. S. Kingsnorth. Digitaalinen markkinointistrategia . — ISBN 9785041757397 .
  10. ↑ 1 2 3 4 Web Scraping : Miten se kaikki alkoi ja tulee olemaan  . www.octoparse.com. Haettu 9. tammikuuta 2020. Arkistoitu alkuperäisestä 7. elokuuta 2020.
  11. Kaunis keitto: Kutsuimme häntä kilpikonnaksi, koska hän opetti meitä. . www.crummy.com Haettu 14. tammikuuta 2020. Arkistoitu alkuperäisestä 27. maaliskuuta 2022.
  12. Jeff Desjardins. Mitä tapahtuu Internet-minuutissa vuonna 2018? . www.visualcapitalist.com . Visual Capitalist (14. toukokuuta 2018). Haettu 14. tammikuuta 2020. Arkistoitu alkuperäisestä 11. marraskuuta 2019.
  13. ↑ 1 2 Kitaev E. L., Skornyakova R. Yu., "HTML-sivun merkinnällä ohjattujen ulkoisten verkkoresurssien lennossa kaapiminen", Keldysh Instituten esipaineet. M. V. Keldysha, 2019, 020, 31 s. . www.mathnet.ru Haettu: 7.3.2020.
  14. Demidova O.O., Saveliev A.O. Vertaileva analyysi tekniikoista tiedon poimimiseksi verkkosivuilta tieteellisten julkaisujen klusterointiongelman ratkaisemiseksi // Elektroniset välineet ja ohjausjärjestelmät. Kansainvälisen tieteellis-käytännöllisen konferenssin raporttien materiaalit..
  15. Laulu, Ruihua. Joint Optimization of Wrapper Generation and Template Detection" (PDF) . 13th International Conference on Knowledge Discovery and Data Mining . Microsoft Research (14. syyskuuta 2007). Haettu 27. marraskuuta 2019. Arkistoitu alkuperäisestä 27. marraskuuta 2019.
  16. Mikä on asiakirjaobjektimalli? . www.w3.org. Haettu 9. tammikuuta 2020. Arkistoitu alkuperäisestä 6. toukokuuta 2019.
  17. Song R. Joint Optimization of Wrapper Generation and Template Detection // The 13th International Conference on Knowledge Discovery and Data Mining. - 2007. - S. 13-20 .
  18. Menetelmä tietojen yhdistämiseen ja muuntamiseen sekä laite sen toteuttamiseksi . findpatent.ru. Haettu: 9.3.2020.
  19. Mikä on FreeFormat  . www.gooseeker.com Haettu 7. maaliskuuta 2020. Arkistoitu alkuperäisestä 3. joulukuuta 2019.
  20. Xconomy: Diffbot käyttää Computer Visionia semanttisen  verkon keksimiseen uudelleen . Xconomy (25. heinäkuuta 2012). Haettu 7. maaliskuuta 2020. Arkistoitu alkuperäisestä 29. helmikuuta 2020.
  21. ↑ 1 2 Tim Jones M. Tietojen poimiminen Internetistä Ruby-kielellä (22. toukokuuta 2014). Haettu 13. joulukuuta 2019. Arkistoitu alkuperäisestä 13. joulukuuta 2019.
  22. Pavlov N. V. Markkinointitutkimuksen menetelmät .
  23. Joyce G. (Käytetty 19.6.2019 Data paljastaa GRAMMYs 2017 Highlights on Social Media . Haettu 17. joulukuuta 2019. Arkistoitu alkuperäisestä 17. joulukuuta 2019.
  24. Basalaeva A. Yu., Gareeva G. A., Grigoryeva D. R. Naive Bayesin verkkokaappaus ja tekstin luokittelu  // Innovative Science. - 2018. - Nro 5-2 . — ISSN 2410-6070 . Arkistoitu alkuperäisestä 13. joulukuuta 2019.
  25. ↑ 1 2 Moskalenko A. A., Laponina O. R., Sukhomlin V. A. Verkkokaappaussovelluksen kehittäminen, jolla on kyky ohittaa esto // Nykyaikainen tietotekniikka ja IT-koulutus. - 2019. - T. 15 , nro 2 . - S. 413-420 . - doi : 10.25559 .
  26. Scrappy | Nopea ja tehokas kaavinta ja verkkoindeksointikehys . scrapy.org. Haettu 7. maaliskuuta 2020. Arkistoitu alkuperäisestä 22. maaliskuuta 2020.
  27. Verkkotietojen integrointi - Import.io - Tietojen purkaminen, Verkkotiedot, Web-keräys, Tietojen valmistelu, Tietojen  integrointi . import.io. Haettu 7. maaliskuuta 2020. Arkistoitu alkuperäisestä 5. maaliskuuta 2020.
  28. Kasvihuonevideo-opastus: Mitä on Web-kaappaus . te-st.ru . Haettu 13. joulukuuta 2019. Arkistoitu alkuperäisestä 13. joulukuuta 2019.
  29. ↑ 1 2 Moskalenko A. A., Laponina O. R., Sukhomlin V. A. Verkkokaappaussovelluksen kehittäminen, jolla on kyky ohittaa esto // Nykyaikainen tietotekniikka ja IT-koulutus. - 2019. - V. 5 , nro 2 .
  30. Kuinka sivustojen omistajat välttävät 152-FZ:n mukaiset sakot - liittovaltion laki "henkilötiedoista" . PDMaster.ru - Tietoportaali henkilökohtaisista tiedoista (15. huhtikuuta 2020). Haettu 5. heinäkuuta 2020. Arkistoitu alkuperäisestä 5. heinäkuuta 2020.
  31. Legal Web Scraping - Web-kaappauspalvelu  selitetty . FindDataLabin verkkokaappauspalvelu (6.4.2020). Haettu 5. heinäkuuta 2020. Arkistoitu alkuperäisestä 28. tammikuuta 2021.
  32. FindDataLab.com. Voitko silti suorittaa Web-kaappauksen uusien CNIL-ohjeiden avulla?  (englanniksi) . Keskitaso (9. kesäkuuta 2020). Haettu 5. heinäkuuta 2020. Arkistoitu alkuperäisestä 5. heinäkuuta 2020.

Kirjallisuus

  • Kitaev E. L., Skornyakova R. Yu.  StructScraper — Työkalu ulkoisten verkkoresurssien semanttisten tietojen dynaamiseen sisällyttämiseen web-sivun sisältöön // Tieteellinen palvelu Internetissä. — 2019.
  • Kitaev E. L., Skornyakova R. Yu.  Ulkoisten verkkoresurssien kaapiminen lennossa HTML-sivun merkinnällä. M. V. Keldysh. - 2019. - Nro 20. - DOI : 10.20948/prepr-2019-20.
  • Soloshchenko M. V., Karamova A. I.  Tietojen tuonnin toteutus verkkoresursseista // Moderni matematiikka ja sen sovellukset : Artikkeli konferenssijulkaisussa. - Ufa, 2017.
  • Tyutyarev A. A., Solomatin D. I.  Kehyksen kehittäminen verkkokaapimien luomiseksi // Voprosy nauki. - 2016. - V. 3, nro 13.
  • Adamuz P.L. Yleisen testialustan kehittäminen radan kaapimiseen. Barcelona: European Education and Training Accreditation Center, 2015.
  • Boeing, G.; Waddell, P. Uusia näkemyksiä vuokra-asuntomarkkinoista Yhdysvalloissa: Webin kaapiminen ja Craigslistin vuokraluetteloiden analysointi // Journal of Planning Education and Research. - 2016. - DOI : 10.1177/0739456X16664789. - arXiv :1605.05397.
  • Huan Liu, Fred Morstatter, Jiliang Tang, Reza Zafarani.  Hyvät, pahat ja rumat: uusien tutkimusmahdollisuuksien paljastaminen sosiaalisen median louhinnassa (englanniksi) // International Journal of Data Science and Analytics. – 2016-11. — Voi. 1, iss. 3-4. — ISSN 2364-4168 2364-415X, 2364-4168. - DOI : 10.1007/s41060-016-0023-0.
  • Geoff Boeing, Paul Waddell.  Uusia näkemyksiä vuokra-asuntomarkkinoista kaikkialla Yhdysvalloissa: Web-kaappaus ja Craigslist-vuokraluetteloiden analysointi // Journal of Planning Education and Research. – 2017-12. — Voi. 37, iss. 4. - ISSN 1552-6577 0739-456X, 1552-6577. — DOI :10.1177/0739456X16664789.
  • Rizqi Putri Nourma Budiarti, Nanang Widyatmoko, Mochamad Hariadi, Mauridhi Hery Purnomo. Webin kaavinta automatisoituun vedenlaadun seurantajärjestelmään: PDAM Surabayan tapaustutkimus // 2016 International Seminar on Intelligent Technology and Itss (ISITIA). — Lombok, Indonesia: IEEE, 2016-07. - ISBN 978-1-5090-1709-6 . — DOI :10.1109/ISITIA.2016.7828735.

Linkit