Web skrapning
Web scraping (eller scraping, eller scraping ← engelska web scraping ) är en teknik för att erhålla webbdata genom att extrahera den från webbresurssidor [1] . Webbskrapning kan göras manuellt av en datoranvändare, men termen syftar vanligtvis på automatiserade processer implementerade med kod som gör GET-förfrågningar till målplatsen [2] .
Webbskrapning används för att syntaktisk omvandla webbsidor till mer användbara former [3] . Webbsidor skapas med textbaserade märkningsspråk ( HTML och XHTML ) och innehåller mycket användbar data i koden. De flesta webbresurser är dock avsedda för slutanvändare och inte för automatiserad användbarhet, så det har utvecklats teknik som "rensar" webbinnehåll.
Att ladda och titta på sidan är de viktigaste komponenterna i tekniken, de är en integrerad del av datainsamlingen [4] .
Historik
Webbskrapningens historia börjar med Internets tillkomst.
- I juni 1993 skapades den första webbroboten World Wide Web Wanderer, som endast var avsedd för att mäta storleken på World Wide Web [5] [6] .
- I december 1993 dök den första WWW -sökmotorn upp , som förlitade sig på en webbrobots arbete [7] - JumpStation . Hon kunde redan spåra information, indexera den och utföra ordsökningar [8] , rangordna länkar.
- 1994 lanserades den första fulltextsökmotorn WebCrawler [ en [9] [10] .
- År 2000 dök det första webb-API och Crawler API [10] upp . I år lanserade Salesforce och eBay sitt eget API som gav programmerare tillgång till en del allmänt tillgänglig data. Sedan dess har många webbplatser erbjudit ett webb-API, vilket har gjort webbskrapning mycket enklare.
- 2004 lanserades Beautiful Soup -biblioteket , designat för Python . Eftersom inte alla webbplatser erbjuder ett API, har programmerare letat efter en ny lösning för webbskrapning i sådana fall. Denna lösning var Beautiful Soup-biblioteket, som bestämmer strukturen på webbplatsen med hjälp av analys, vilket hjälper till att analysera och hämta innehållet på HTML-sidor [10] . Beautiful Soup anses vara det mest komplexa och avancerade webbskrapningsbiblioteket [11] .
- Under 2018 representerade Internet mer än 1,8 miljarder webbplatser [12] . Det var webbskrapning som gjorde den nyligen framväxande World Wide Web sökbar, och sedan blev det snabbt växande Internet mer bekvämt och tillgängligt [10] .
Metoder
Webbskrapning är ett område för aktiv utveckling, som delar ett ambitiöst initiativ för interaktion mellan människa och dator som kräver genombrott i bearbetningen och förståelsen av texten på onlinesidor genom artificiell intelligens. Moderna skrapningslösningar sträcker sig från ad hoc, som kräver mänsklig ansträngning, till helautomatiska system som kan konvertera hela webbplatser till strukturerad information i ett specifikt format. Helst ger webbplatsen vars data måste hämtas dem genom ett API med åtkomst över flera domäner tillåten [13] . I de fall så inte är fallet kan andra skrapningsmetoder användas.
"Kopiera-klistra" manuellt
Ibland kan inte ens den bästa webbskrapningstekniken ersätta en persons manuella arbete när en användare kopierar och klistrar in text. I vissa fall är detta den enda möjliga lösningen, till exempel när webbplatser sätter upp ett block från webbskrapning och textkopiering.
Ringa en proxytjänst
Om webbplatsen är ett html- eller xml-dokument och förfrågningar över flera domäner tillåts till det, kan du hämta innehållet i dokumentet med en begäran till en av proxytjänsterna som finns tillgängliga på Internet [13] .
Matchning av textmönster
Ett enkelt men kraftfullt sätt att få information från webbsidor. Kan baseras på UNIX grep-kommandot (sök i en eller flera filer efter ett mönster [14] ) eller på matchning av reguljära uttryck i programmeringsspråk (som Perl eller Python ).
Parsar HTML
Många webbplatser består av ett stort antal sidor som genereras dynamiskt från en grundläggande strukturerad källa, databasen. Data i samma kategori kodas vanligtvis till liknande sidor med ett gemensamt skript eller mall. Inom datautvinning kallas ett program som upptäcker sådana mönster i en viss informationskälla, extraherar dess innehåll och översätter det till en form en omslag. Det antas att de analyserade sidorna i systemet överensstämmer med ett gemensamt mönster och att de lätt kan identifieras i termer av ett gemensamt URL-schema [15] . Dessutom kan vissa semistrukturerade datafrågespråk, som XQuery och HTML, användas för att analysera HTML-sidor och extrahera och transformera sidinnehåll.
Document Object Model ( DOM)
DOM är ett program med ett API för HTML- och XML-dokument [16] . Genom att bädda in en komplett webbläsare, som Internet Explorer eller Mozilla webbläsarkontroll, kan program hämta dynamiskt innehåll som genererats av skript på klientsidan. Att skrapa ett DOM-träd ger dig tillgång till information i dess individuella delar [17] .
Vertikal dataaggregation
Det finns flera företag som har utvecklat speciella onlineplattformar som skapar och kontrollerar många bots. Bots fungerar utan direkt mänsklig inblandning och samtidigt sker deras interaktion med användare utan kommunikation med målplatsen. Förberedelser inkluderar skapandet av en kunskapsbas, tack vare vilken bots arbete är möjligt. Bots aggregerar data om individuella egenskaper för varje resurs i enlighet med de specificerade villkoren för ytterligare jämförelse och analys av de erhållna egenskapsvärdena [18] . Plattformens tillförlitlighet mäts genom kvaliteten på den mottagna informationen (vanligtvis antalet fält) och dess skalbarhet (upp till hundratals eller tusentals webbplatser). Denna skalbarhet används främst för att konvertera data som finns i slutet av en lång webbplatskod som konventionella aggregatorer tycker är svårt eller för tidskrävande att samla in innehåll.
Semantisk anteckningsigenkänning
Vissa sidor kan innehålla metadata eller semantisk uppmärkning och anteckningar, med den semantiska annoteringsigenkänningsmetoden kan de extraheras från sådana sidor [19] .
Sidtolkare
Utveckling pågår inom området artificiell intelligens, när maskinseende identifierar data, tolkar dem, som om en person skulle göra det, och extraherar dem [20] .
Webbskrapningsteknik är praktiskt för att översätta webbsidesdata till mer bekväma former, men det finns också analysmetoder som, i fallet med ett öppet API, kan lösa problemet mer produktivt [21] .
Applikation
Webbskrapning har blivit ett viktigt verktyg för automatiserad informationsinsamling på Internet. Det är en del av marknadsföringsinformationssystem (MIS) för bildandet av databaser eller databanker, tack vare vilka den nödvändiga informationen tillhandahålls i form av tabellrapporter [22] . Sökmotorteknik, innehållsaggregatorer är också sammankopplade med webbskrapningsprogram [23] .
Webbskrapning är en form av datakopiering där viss information som är nödvändig för att erhålla samlas in från Internet och ackumuleras, vanligtvis i en central lokal databas eller kalkylblad, för efterföljande extraktion eller analys [24] . Webbskrapningsprogram kan komma åt World Wide Web direkt med hjälp av Hypertext Transfer Protocol såväl som via en webbläsare.
Det resulterande sidinnehållet kan analyseras, formateras om, kopieras till ett kalkylblad och så vidare. Webbskrapning tar vanligtvis en bit data från en sida för att kunna använda den för ett annat ändamål. Ett exempel på skrapning kan vara att söka på olika sajter och kopiera namn, telefonnummer, e-postadresser, webbadresser till ett visst ämne för att skapa en kontaktdatabas.
I grund och botten löser webbskrapor följande uppgifter:
- Sök efter nödvändig information;
- Kopiering av data från Internet;
- Övervakning av uppdateringar på webbplatser [25] .
Webbskrapning kan användas som ett fristående verktyg och fungera som en riktad sökning efter information, den kan också bli en del av webbutveckling som används för webbindexering, webbutvinning och datautvinning, onlineövervakning, prisförändringar och jämförelse, för observation för konkurrens. och annan datainsamling.
Program och analoger
Webskrapningsprogram är inte designade för vanliga användare, programmerare arbetar med dem, som i de flesta fall skriver koder för specifika uppgifter. På Internet kan du hitta olika verktyg och verktyg för webbskrapning: bibliotek, applikationer, onlinetjänster, molntjänster, tjänster av DaaS-typ, webbläsarplugin. Ett av de populära skrapverktygen är Scrapy (det är ett gratis ramverk med öppen källkod [26] ) . Den mest populära kommersiella plattformen är Import.IO [27] .
Det finns utvecklingar, till exempel Nokogiri, som skapades specifikt för programmeringsspråket Ruby [21] , skrapor som utför en specifik uppgift från en mängd olika möjliga: Outwit Hub [28] samlar in textinformation och distribuerar den bland celler. Nya former av webbskrapning innebär att man lyssnar på dataflöden från webbservrar. JSON används till exempel ofta som en transportmekanism för att lagra data mellan en klient och en webbserver.
Att hämta data från webbplatser med API-åtkomst är också effektivt. Företag som Amazon AWS och Google Google (API Discovery service) förser slutanvändare med gratis skrapverktyg, tjänster och offentliga data.
Sätt att skydda och kringgå lås
Det finns metoder för att förhindra webbplatser från att skrapa på webben, som att upptäcka och blockera botar från att genomsöka (visa) deras sidor. Som svar finns det webbskrapningssystem som förlitar sig på användningen av DOM-parsning, datorseende och bearbetningstekniker för naturligt språk för att simulera mänsklig surfning för att samla webbsidors innehåll för offlineanalys.
Administratörer kan blockera webbskrapningsprogram för att förhindra att information används av konkurrenter. Skrapningsprogram kan kännas igen av följande funktioner:
- Ovanligt användarbeteende (till exempel hundratals övergångar till en ny sida på webbplatsen varje sekund);
- Upprepade ofullständiga åtgärder (användaren kommer inte att utföra samma uppgifter om och om igen);
- Användning av länkar som endast finns i webbplatskoden och inte är synliga för vanliga användare [29] .
Blockeringsmetoder:
- Neka åtkomst till webbplatsen från en specifik IP-adress (till exempel när boten har gått igenom mer än 100 sidor per session);
- Neka användar-ID, som ur webbplatsadministratörens synvinkel är en angripare som kommer in på webbplatsen genom autentisering [25] .
För att kringgå blockering måste webbskrapningsprogram utföra åtgärder på webbplatsen som är så nära användarens beteende som möjligt. Därför bör du med jämna mellanrum rotera IP-adresser, ändra användaragentens identifierare ( User Agent ) och konfigurera hastigheten för webbskraperträffar till den optimala, och mellan träffarna - bygga in slumpmässiga åtgärder på webbplatsen som inte kommer att väcka misstankar [29] .
Juridiska funktioner
De juridiska aspekterna av webbskrapning styrs av lagstiftning inom området för skydd av personuppgifter . I Ryssland är det reglerande dokumentet 152 Federal Law "On Personal Data" [30] . I Europeiska unionen måste skrapor följa den allmänna dataskyddsförordningen (GDPR) [31] . I Frankrike har sedan april 2020 ett separat regleringsdokument utfärdat av National Commission for Informatization and Freedom (CNIL) varit i kraft, som begränsar insamlingen av personuppgifter från öppna källor [32] .
Se även
Anteckningar
- ↑ Boeing, G.; Waddell, P. Nya insikter om hyresmarknader över hela USA: webbskrapning och analys av Craigslist Rental Listings // Journal of Planning Education and Research. - 2016. - doi : 10.1177/0739456X16664789 . - arXiv : 1605.05397 .
- ↑ Web-skrapning och naiv Bayes-textklassificering . cyberleninka.ru. Hämtad 14 januari 2020. Arkiverad från originalet 13 december 2019. (obestämd)
- ↑ Tyutyarev A. A., Solomatin D. I. Utveckling av ett ramverk för att skapa webbskrapor // Problems of Science. - 2016. - V. 3 , nr 13 . Arkiverad från originalet den 25 januari 2021.
- ↑ Vargiu & Urru. Utnyttja webbskrapning i en kollaborativ filtreringsbaserad strategi för webbannonsering // Artificiell intelligensforskning. - 2013. - Nr 2 (1) . - doi : 10.5430/air.v2n1p44 .
- ^ World Wide Web Wanderer . Hämtad 9 januari 2020. Arkiverad från originalet 3 januari 2020. (obestämd)
- ↑ Den första webbroboten - 1993 . Hämtad 9 januari 2020. Arkiverad från originalet 19 januari 2021. (obestämd)
- ↑ Effekten av presentationsstil för sökmotorresultatsidor på användarnöjdhet och ögonrörelser | Semantisk lärd
- ↑ Valeria Cherepenchuk, Irina Lomakina, Natalya Serdtseva. Teknik som förändrade världen . — Liter, 2019-12-13. — 322 sid. - ISBN 978-5-04-220661-0 .
- ↑ S. Kingsnorth. Digital marknadsföringsstrategi . — ISBN 9785041757397 .
- ↑ 1 2 3 4 Web Scraping : Hur allt började och kommer att bli . www.octoparse.com. Hämtad 9 januari 2020. Arkiverad från originalet 7 augusti 2020.
- ↑ Vacker soppa: Vi kallade honom sköldpadda för att han lärde oss. . www.crummy.com Hämtad 14 januari 2020. Arkiverad från originalet 27 mars 2022. (obestämd)
- ↑ Jeff Desjardins. Vad händer på en internetminut 2018? . www.visualcapitalist.com . Visual Capitalist (14 maj 2018). Hämtad 14 januari 2020. Arkiverad från originalet 11 november 2019. (obestämd)
- ↑ 1 2 Kitaev E. L., Skonyakova R. Yu., "Skrapning i farten av externa webbresurser kontrollerade av HTML-sidamarkering", Keldysh Institute förtryck. M. V. Keldysha, 2019, 020, 31 sid. . www.mathnet.ru Hämtad: 7 mars 2020. (obestämd)
- ↑ Demidova O.O., Saveliev A.O. Jämförande analys av tekniker för att extrahera data från webbsidor för att lösa problemet med klustring av vetenskapliga publikationer // Elektroniska medel och kontrollsystem. Material från rapporter från den internationella vetenskaplig-praktiska konferensen.
- ↑ Sång, Ruihua. Joint Optimization of Wrapper Generation and Template Detection" (PDF) . The 13th International Conference on Knowledge Discovery and Data Mining . Microsoft Research (14 september 2007). Hämtad 27 november 2019. Arkiverad från originalet 27 november 2019. (obestämd)
- ↑ Vad är dokumentobjektmodellen? . www.w3.org. Hämtad 9 januari 2020. Arkiverad från originalet 6 maj 2019. (obestämd)
- ↑ Song R. Gemensam optimering av omslagsgenerering och mallupptäckt // Den 13:e internationella konferensen om kunskapsupptäckt och datautvinning. - 2007. - S. 13-20 .
- ↑ En metod för att aggregera och transformera data och en enhet för dess implementering . findpatent.ru. Hämtad: 9 mars 2020. (obestämd)
- ↑ Vad är FreeFormat . www.gooseeker.com Hämtad 7 mars 2020. Arkiverad från originalet 3 december 2019.
- ↑ Xconomy: Diffbot använder datorseende för att återuppfinna den semantiska webben . Xconomy (25 juli 2012). Hämtad 7 mars 2020. Arkiverad från originalet 29 februari 2020.
- ↑ 1 2 Tim Jones M. Extrahera information från Internet med hjälp av Ruby-språket (22 maj 2014). Hämtad 13 december 2019. Arkiverad från originalet 13 december 2019. (obestämd)
- ↑ Pavlov N. V. Metoder för marknadsundersökningar .
- ↑ Joyce G. (Åtkom 06/01/19 Data Reveals the GRAMMYs 2017 Highlights on Social Media . Hämtad 17 december 2019. Arkiverad från originalet 17 december 2019. (obestämd)
- ↑ Basalaeva A. Yu., Gareeva G. A., Grigoryeva D. R. Webbskrapning och textklassificering av Naive Bayes // Innovative Science. - 2018. - Nr 5-2 . — ISSN 2410-6070 . Arkiverad från originalet den 13 december 2019.
- ↑ 1 2 Moskalenko A. A., Laponina O. R., Sukhomlin V. A. Utveckling av en webbskrapningsapplikation med förmågan att kringgå blockering // Modern informationsteknologi och IT-utbildning. - 2019. - T. 15 , nr 2 . - S. 413-420 . - doi : 10.25559 .
- ↑ Scrappy | Ett snabbt och kraftfullt ramverk för skrapning och webbgenomsökning . scrapy.org. Hämtad 7 mars 2020. Arkiverad från originalet 22 mars 2020. (obestämd)
- ↑ Web Data Integration - Import.io - Dataextraktion, Web Data, Web Harvesting, Data Preparation, Data Integration . import.io. Hämtad 7 mars 2020. Arkiverad från originalet 5 mars 2020.
- ↑ Växthusvideohandledning: Vad är webbskrapning . te-st.ru . Hämtad 13 december 2019. Arkiverad från originalet 13 december 2019. (obestämd)
- ↑ 1 2 Moskalenko A. A., Laponina O. R., Sukhomlin V. A. Utveckling av en webbskrapningsapplikation med förmågan att kringgå blockering // Modern informationsteknologi och IT-utbildning. - 2019. - V. 5 , nr 2 .
- ↑ Hur sajtägare undviker böter enligt 152-FZ - Federal Law "On Personal Data" . PDMaster.ru - Informationsportal om personuppgifter (15 april 2020). Hämtad 5 juli 2020. Arkiverad från originalet 5 juli 2020. (ryska)
- ↑ Juridisk webbskrapning - Webskrapningstjänst förklaras . Webbskrapningstjänst av FindDataLab (6 april 2020). Hämtad 5 juli 2020. Arkiverad från originalet 28 januari 2021.
- ↑ FindDataLab.com. Kan du fortfarande utföra webbskrapning med de nya CNIL-riktlinjerna? (engelska) . Medium (9 juni 2020). Hämtad 5 juli 2020. Arkiverad från originalet 5 juli 2020.
Litteratur
- Kitaev E. L., Skonyakova R. Yu. StructScraper — Ett verktyg för dynamisk inkludering av semantisk data från externa webbresurser i innehållet på en webbsida // Vetenskaplig tjänst på Internet. — 2019.
- Kitaev E. L., Skonyakova R. Yu. Skrapning i farten av externa webbresurser kontrollerade av HTML-sidamarkering. M. V. Keldysh. - 2019. - Nr 20. - DOI : 10.20948/prepr-2019-20.
- Soloshchenko M. V., Karamova A. I. Implementering av dataimport från webbresurser // Modern matematik och dess applikationer : Artikel i konferensförhandlingarna. — Ufa, 2017.
- Tyutyarev A. A., Solomatin D. I. Utveckling av ett ramverk för att skapa webbskrapor // Voprosy nauki. - 2016. - V. 3, nr 13.
- Adamuz P.L. Utveckling av en generisk testbädd för webbskrapning. Barcelona: European Education and Training Accreditation Center, 2015.
- Boeing, G.; Waddell, P. Nya insikter om hyresmarknader över hela USA: webbskrapning och analys av Craigslist Rental Listings // Journal of Planning Education and Research. - 2016. - DOI : 10.1177/0739456X16664789. - arXiv :1605.05397.
- Huan Liu, Fred Morstatter, Jiliang Tang, Reza Zafarani. Det goda, det dåliga och det fula: att avslöja nya forskningsmöjligheter inom gruvdrift i sociala medier (engelska) // International Journal of Data Science and Analytics. — 2016-11. — Vol. 1, iss. 3-4. — ISSN 2364-4168 2364-415X, 2364-4168. - DOI :10.1007/s41060-016-0023-0.
- Geoff Boeing, Paul Waddell. Nya insikter om hyresmarknader över hela USA: webbskrapning och analys av Craigslist Rental Listings // Journal of Planning Education and Research. — 2017-12. — Vol. 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. Webskrapning för automatiserat vattenkvalitetsövervakningssystem: En fallstudie av PDAM Surabaya // 2016 International Seminar on Intelligent Technology and Its Applications (ISITIA). — Lombok, Indonesien: IEEE, 2016-07. - ISBN 978-1-5090-1709-6 . — DOI :10.1109/ISITIA.2016.7828735.
Länkar