• No results found

tools for Web data extraction

N/A
N/A
Protected

Academic year: 2021

Share "tools for Web data extraction"

Copied!
39
0
0

Loading.... (view fulltext now)

Full text

(1)

1

Web data

Web data

extraction

extraction

Student: Xavier Azagra

Supervisor: Andreas Thor

Thesis

(2)

2

Table of contents

Table of contents

z

z

Introduction

Introduction

z

z

Data Extraction Process

Data Extraction Process

z

z

Data Extraction Tools

Data Extraction Tools

z

z

Realized tests

Realized tests

z

(3)

3

Introduction

Introduction

We are going to center our effort in HTML data extraction

The predominant markup language for web pages Kind of semi-structured data

Information following a nested structure

(4)

4

Internet

Internet

growth

growth

Introduction

Introduction

1400 Million of Internet users

168 Million sites

May 2008 Web Server Survey - www.netcraft.com

(5)

5

Introduction

Introduction

Purposes

Purposes

of

of

Web data

Web data

extraction

extraction

Users Applications Query Integration Extraction Web data source

Get information from the Web to be used in other areas or by applications

Information retrieval ( e.g. Feeds, Web search engines…)

Let the user to access particular data from the Web

Economical issues ( e.g. stock market, shopping comparison…)

(6)

6

Internet was designed as a source of data for a human use. Problems appear when we want to extract data from HTML

Data not presented in HTML format: Password protected sites

Cookies Sessions ID’s Javascript Dynamic content Deep resources: Unlinked content Contextual web

Limited access content

Main

Main

problems

problems

Data

(7)

7

Data

Data

extraction

extraction

process

process

Types

Types

of

of

content

content

Free text Structured

text

Semi-structured text

Natural language texts Patterns involving syntactic relations between

words or semantic classes of words

Textual information following a predefined

strict format Use of the format

description

Between unstructured collections of textual documents and fully structured tuples of

typed data

Extraction patterns are often based on tokens

(8)

8

Ways

Ways

to

to

perform

perform

data

data

extraction

extraction

Data

Data

extraction

extraction

process

process

Manual API Wrapper

Manual Semiautomatic Automatic

Precise Treat elements

individually

Specific Web Sites Limited specifications Set of methods Independent of source Ad hoc code Not trivial Error-prone Support tool GUI support Less Error-prone Machine-learning techniques Supervised learning

(9)

9

When speaking about HTML-aware tools, before performing the extraction process, these tools turn the document into a parsing tree

HTML

HTML

structure

structure

for

for

data

data

extraction

extraction

Data

Data

extraction

extraction

process

process

Each node represents a tag Outer tags are leaves

Expressions to navigate through all the hierarchy

Maximum precision is found on the content of a leave

(10)

10

Presentation of the data without following a structure

Logic, simple and organized content help to realize correct extractions Unorganized content affects the HTML tree structure

Bad constructed HTML source documents

Bad placed tags Repeated tags No closed tags

Nested data elements

Elements that are nesting data and then element by element could contain differences

HTML

HTML

problems

problems

to

to

extract

extract

data (I)

data (I)

Data

(11)

11

HTML

HTML

problems

problems

to

to

extract

extract

data (II)

data (II)

Data

Data

extraction

extraction

process

process

Problems choosing the correct Web page source example

Content structure could change depending on some factors Example: Result page of Web Search Engines

Problems using scripts or dynamic content

Hidden or changing information Syntax different to HTML

(12)

12

Data

Data

extraction

extraction

tools

tools

Taxonomy

(13)

13

Data

Data

extraction

extraction

tools

tools

Taxonomy

Taxonomy

(II)

(II)

Languages for wrapper development

Ontology-based NLP-based

Assist wrapper construction Alternatives to general purpose

languages

Wrapper

induction Modeling-based HTML-aware

Rely on inherent structural features of HTML documents Based on syntactic and semantic constraints

Rules derived from a given set of training examples

Try to locate in Web pages portions of data that implicitly

conform to a structure Extraction relying directly on the data

(14)

14

Data

Data

extraction

extraction

tools

tools

Flow

Flow

of

of

data

data

http://

INPUT

URL Data File

Data extraction

process

OUTPUT

Wrapper XML, HTML, RSS/ATOM TEXT Modules, CSV, email, JSON, XSL, Google Maps, Flash…

(15)

15

Data

Data

extraction

extraction

tools

tools

Structure

Structure

10 HTML-aware tools

Categorization of this tools using several criterias

(16)

16

Data

Data

extraction

extraction

tools

tools

Used

Used

HTML

HTML

-

-

aware

aware

tools

tools

Dapper

Robomaker

Roadrunner

XWRAP

Lixto

Webharvest

Goldseeker

WinTask

Automation Anywhere

Web Content Extractor

Commercial and non commercial tools Shell and GUI support tools

Screen scrapping and non screen scrapping tools Linux and Windows tools

(17)

17

Data

Data

extraction

extraction

tools

tools

Structure

Structure

10 HTML-aware tools

Categorization of this tools using several criterias

(18)

18

Data

Data

extraction

extraction

tools

tools

GUI

GUI

No GUI

- Shell commands

- Configuration files and coding - Input files

- Roadrunner

Integrated browser

- Direct Interaction between the tool and the navigation browser

- Visualize information of the Web elements - Lixto, Robomaker, Web Content Extractor

Web browser

- Loads Javascript and Dynamic content

- Separation between the tool and the window browser - Automation anywhere, Wintask

(19)

19

Data

Data

extraction

extraction

tools

tools

Resilience

Resilience

Capacity of continuing to work properly in the ocurrence of changes in the pages for which they are targeted

Common changes to:

the data the structure

Add, erase or modify elements the visual design

introduce new technologies (AJAX, PHP, Javascript…)

(20)

20

Data

Data

extraction

extraction

tools

tools

Adaptiveness

Adaptiveness

Grade of a wrapper for built pages of a specific Web source on a given application domain to work properly with pages from another source in the same application domain

From all of the taxonomy of web data extraction tools only the Ontology-based tools feature fully resilience and adaptativeness properties

(21)

21

Data extraction tools

Data extraction tools

Scripting and expressions

Scripting and expressions

The atomicity of the HTML parsing tree is found in a leave (outer tag) Necessity to extract information in a more precise way

Self-scripting syntax Regular expressions Patterns Remove special characters Others Wintask Web Content Extractor Goldseeker Lixto Robomaker

Date formatting Text replacing

Robomaker Lixto Robomaker

(22)

22

Data extraction tools

Data extraction tools

Input variables

Input variables

In some cases we need input variables to realize searches through Internet:

Ebay

Web search engines Youtube

Amazon

We want to extract data from the resulting pages, we need tool support

(23)

23

Input/Output formats

Input/Output formats

Data extraction tools

Data extraction tools

RSS/Atom Feed, REST Web Service, Web Clip HTML Robomaker XML HTML Lixto XML HTML XWRAP XML, HTML HTML RoadRunner XML, RSS, HTML, Modules, Atom Feed, CSV,JSON,XSL, YAML, email HTML Dapper Output Formats Input Formats Text HTML and documents GoldSeeker File, Excel, DB, SQL script File, MySQL script File, HTML, XML, HTTP submit HTML Web Content Extractor File, Excel, DB, EXE HTML and documents Automation Anywhere File, Excel, DB HTML and documents WinTask XML HTML WebHarvest Output Formats Input Formats

(24)

24

General features (I)

General features (I)

Data extraction tools

Data extraction tools

Free Execution time Resilience Complexity Interface No, requires license Very Good Good Medium Program GUI, Internet browser Lixto Yes Good Good Medium Internet browser XWRAP YES, GNU GPL License Good Poor Medium Linux Shell RoadRunner Yes Very Good Very good Medium Program GUI, Internet browser Robomaker Yes Very Good Good Low Internet browser Dapper

(25)

25

General features (II)

General features (II)

Data extraction tools

Data extraction tools

Free Execution time Resilience Complexity Interface No Poor Poor Low Program GUI, Internet browser Web Content Extractor No Good Poor Low Program GUI, Internet browser Automation Anywhere No Good Poor Medium Program GUI, internet browser Wintask Yes, GNU LGPL License Poor Good Medium Internet browser Goldseeker Yes Good Good High Program GUI WebHarvest

(26)

26

Advanced characteristics

Advanced characteristics

Data extraction tools

Data extraction tools

Good No Yes No Yes Dapper Good Yes Yes Yes Yes Robomaker Poor No No No No Roadrunner Poor No Yes No No XWRAP Good Yes Yes Yes Yes Lixto Javascript or Dynamic content More than one page Non static content pages Scripts usage Input variables Good No No No No Web Content Extractor Good Yes No No No Automation Anywhere Good Yes No Yes By script Wintask Poor No Yes Yes No Goldseeker Poor No Yes No No WebHarvest

(27)

27

Data

Data

extraction

extraction

tools

tools

Structure

Structure

10 HTML-aware tools

Categorization of this tools using several criterias

(28)

28

Realized tests

Realized tests

Methodology

Methodology

Created/Selected Web page Selected Tool Selected data Tool result Correct result Compare Test Result

(29)

29

Realized tests

Realized tests

Web

Web

search

search

engines

engines

(I)

(I)

One of the most used resources of the Web

Use of input variables and dynamic result pages

Yahoo! Search uses a live search input form

(30)

30

a a

a

Web Content Extractor

r r r Automation Anywhere r r r WinTask a a a Lixto a r a Robomaker a a a Dapper MS Live Search Yahoo! Search Google Search

Realized tests

Realized tests

Web

(31)

31

a Web Content Extractor r Automation Anywhere r WinTask a Lixto a Robomaker a / r Dapper Ebay search

Realized tests

Realized tests

Ebay

Ebay

The most important auction shop of Internet

Use of input variables and dynamic result pages

(32)

32

r Web Content Extractor r Automation Anywhere r WinTask r Lixto r Robomaker r Dapper Pageflakes

Realized tests

Realized tests

Dynamic content Web pages

Dynamic content Web pages

AJAX based start page

Use of Dynamic content and personalized user modules

(33)

33

For each test:

Realize a modification to the source page Upload to a test server

Execute the tool and see if problems appear

Realized tests

Realized tests

Resilience tests (I)

Resilience tests (I)

1- Obtain a result page of Amazon.com

2- Download the source page and related files

3- Upload to a test server

4- Configure tools to extract 4 fields: title, book format, new price and valuation

(34)

34

Deleting content

Modifying CSS style tags Duplicating extracted data

Changing order of extracted data

Realized tests

Realized tests

Resilience tests (II)

Resilience tests (II)

Deleting content Example:

r Web Content Extractor a Lixto a Robomaker a Dapper Erase td[0]

(35)

35

Designed a published books Web Page

We are going to extract data from the Last Published edition column with different precision each time:

All the information of the row Date of the last publication Year of the last publication

2 last digits of the year of the last publication

Realized tests

Realized tests

Precision tests (I)

(36)

36

Done three different modifications to the source page with different characteristics to:

Extract data from formatted text

Extract data using styled text (class attribute) Extract data from CSV formatted text

Realized tests

Precision tests (II)

(37)

37

Realized tests

a a a a Web Content Extractor r r r r Automation Anywhere r r r r WinTask a a a a Lixto a a a a Robomaker r r r r Dapper 2 last digits of the year of the last publication Year of the last publication Date of the last publication All the information of the last published edition

Precision tests (III)

Precision tests (III)

(38)

38

Future work

Given a Web source which features the tool accomplish. Useful to find the most suitable tool

Testing with non visual GUI tools

Realize a detailed document that contains all the realized work

(39)

39

References

Related documents

Instantly create Product Sale Email Blasts and Store Newsletters Website interfaces with TurboLister 2 and helps you sell on eBay Manage Rentals and Leases online and use your

We have reported here the first simultaneous observations of lower-hybrid waves, whistler-mode waves, electrostatic solitary waves and electron cyclotron waves at the

However, Pentecostal churches seem to take a different approach altogether which promotes tithing as a benefit for the pastors and other church leaders.. Qualitative

However in our view it would be preferable for high value claims to be included within the categories of cases to which the compulsory pre-action protocol is to

Details of Shares which remain unclaimed may be given here along with details such as number of shareholders, outstanding shares held in demat/unclaimed suspense account, voting

(g) A lawyer who represents two or more clients shall not participate in making an aggregate settlement of the claims of or against the clients, or in a criminal case an

This bill, which amends the workers' compensation law, R.S.34:15-1 et seq., increases the period for the retention of records of workers' compensation formal cases

I know that the NMSS spends a lot of time and has a lot of people involved in reviewing different material that goes out about progress, research or treatment, making sure