3132333435363734 of 204
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Evaluating tools and techniques for web scraping
KTH, School of Electrical Engineering and Computer Science (EECS).
2019 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Utvärdering av verktyg för webbskrapning (Swedish)
Abstract [en]

The purpose of this thesis is to evaluate state of the art web scraping tools. To support the process, an evaluation framework to compare web scraping tools is developed and utilised, based on previous work and established software comparison metrics. Twelve tools from different programming languages are initially considered. These twelve tools are then reduced to six, based on factors such as similarity and popularity. Nightmare.js, Puppeteer, Selenium, Scrapy, HtmlUnit and rvest are kept and then evaluated. The evaluation framework includes performance, features, reliability and ease of use. Performance is measured in terms of run time, CPU usage and memory usage. The feature evaluation is based on implementing and completing tasks, with each feature in mind. In order to reason about reliability, statistics regarding code quality and GitHub repository statistics are used. The ease of use evaluation considers the installation process, official tutorials and the documentation.While all tools are useful and viable, results showed that Puppeteer is the most complete tool. It had the best ease of use and feature results, while staying among the top in terms of performance and reliability. If speed is of the essence, HtmlUnit is the fastest. It does however use the most overall resources. Selenium with Java is the slowest and uses the most amount of memory, but is the second best performer in terms of features. Selenium with Python uses the least amount of memory and the second least CPU power. If JavaScript pages are to be accessed, Nightmare.js, Puppeteer, Selenium and HtmlUnit can be used.

Abstract [sv]

Syftet med detta examensarbete är att utvärdera moderna vertkyg som ligger i framkant inom webbskrapning. Ett ramverk för att jämföra verktygen kommer att utvecklas och användas och är baserat på tidigare forskning samt etablerade värden som används för att karaktärisera mjukvara. Från början övervägs tolv verktyg från olika programmeringsspråk. Dessa tolv reduceras sedan till sex baserat på deras likheter och populäritet. De sex verktyg som blev kvar för utvärdering är Nightmare.js, Puppeteer, Selenium, Scrapy, HtmlUnit och rvest. Ramverket för utvärdering involverar prestanda, funktioner, pålitlighet och användarvänlighet. Prestandan mäts och utvärderas i körtid, CPU, samt minnes-användning. Funktionaliteten utvärderas genom implementering av olika uppgifter, korresponderande till de olika funktionerna. För att resonera kring pålitlighet används statistik gällande kodkvalitét samt statistik tagen från vertkygens GitHub-repositories. Bedömning av användarvänlighet inkluderar utvärdering av installations-processen, officiella handledningssidor samt dokumentationen.Samtliga verktyg visade sig användbara, men Puppeteer klassas som det mest kompletta. Det hade de bästa resultaten gällande användarvänlighet samt funktionalitet men höll sig ändå i toppen i både prestanda och tillförlitlighet. HtmlUnit visade sig vara det snabbaste, men använder även mest resurser. Selenium körandes Java är det långsammaste samt använder mest minnesresurser, men är näst bäst när det kommer till funktionalitet. Selenium körandes Python använde minst minne och näst minst CPU kraft. Om sidor som laddas med hjälp av JavaScript är ett krav så fungerar Nightmare.js, Puppeteer, Selenium och HtmlUnit.

Place, publisher, year, edition, pages
2019. , p. 91
Series
TRITA-EECS-EX ; 2019:834
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-271206OAI: oai:DiVA.org:kth-271206DiVA, id: diva2:1415998
External cooperation
Trustly
Subject / course
Computer Science
Educational program
Master of Science - Computer Science
Examiners
Available from: 2020-03-20 Created: 2020-03-20 Last updated: 2020-03-20Bibliographically approved

Open Access in DiVA

fulltext(7758 kB)5 downloads
File information
File name FULLTEXT01.pdfFile size 7758 kBChecksum SHA-512
50aaa1b430ef06238a8418425803f6741d32524fadca88cc6d8cfc3afe66627b9898cfc9878ac10b997a236fa141d17ad42c888121ac83a51118de2a99bd3350
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 5 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 19 hits
3132333435363734 of 204
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf