pablo Íñigo blasco 44.608.989-y rosa mª burrueco jiménez 75.794.976-v tutor: juan m. cordero...

34
Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping Máster en Ingeniería y Tecnología del Software

Upload: marina-avila-nieto

Post on 03-Feb-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Pablo Íñigo Blasco 44.608.989-Y

Rosa Mª Burrueco Jiménez 75.794.976-V

Tutor: JUAN M. CORDERO VALLE

Cotutor: RAFAEL CORCHUELO GIL

Herramientas de Reaping

Máster en Ingeniería y Tecnología del Software

Page 2: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Índice

Contexto Estado del arte Modelado Conclusiones

Page 3: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Contexto

Web

Wrapper

Agent

Page 4: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Contexto

Information retrieval

VerifierOntologiserExtractor

Query

NavigatorFormFiller

Page 5: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Deep Web

Obtención de páginas de entrenamiento

Formularios

Crawlers y Form-Fillers

Page 6: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Índice

Contexto Estado del arte Modelado Conclusiones

Page 7: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Framework de comparación

Secuencia de navegación Manipulación de formularios Almacenamiento de páginas Rellenado dinámico de campos Iteración de Hubs Lenguaje soportado

Page 8: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Framework de comparación

Selenium Imacros Denodo Wget Aspseek Methanol /Methabot

Page 9: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Framework de comparación

Herramienta

Secuencia de navegación

para la descarga

Manipulan formularios

Almacena páginas de

interés

Rellenado dinámico

de campos

Itera hubs

Lenguaje Soportado

Denodo Sí Sí Desconocido Sí No Propio

Wget

No, utiliza búsqueda recursiva a través de enlaces

No Si No Sí N/A

SeleniumCualquier secuencia grabada

Sí No No No

Java, Ruby, C#, Python, VB.NET, Perl, PHP

Page 10: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Índice

Contexto Estado del arte Modelado Conclusiones

Page 11: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Reaper

Page 12: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Lenguaje de formularios

Campos Controles Localizadores

Resultados Producto Hub

Page 13: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Campos

<!–- Sample --> <formModel> <reachFormMethod> <httpGetRequest requestUrl = "http://www.barnesandnoble.com"/> </reachFormMethod>  <submitLocator> <locator-xpath value="//input[@title='Search']"/> </submitLocator> <fields> <textBox fieldId="titulo"> <locator-name value="TTL"/> </textBox> … <select fieldId="precio"> <locator-name value="PRC"/> </select> </fields></formModel>

<!–- Sample --> <formModel> <reachFormMethod> <httpGetRequest requestUrl = "http://www.barnesandnoble.com"/> </reachFormMethod>  <submitLocator> <locator-xpath value="//input[@title='Search']"/> </submitLocator> <fields> <textBox fieldId="titulo"> <locator-name value="TTL"/> </textBox> … <select fieldId="precio"> <locator-name value="PRC"/> </select> </fields></formModel>

Page 14: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Campos

<!–- Sample --> <formModel> <reachFormMethod> <httpGetRequest requestUrl = "http://www.barnesandnoble.com"/> </reachFormMethod>  <submitLocator> <locator-xpath value="//input[@title='Search']"/> </submitLocator> <fields> <textBox fieldId="titulo"> <locator-name value="TTL"/> </textBox> … <select fieldId="precio"> <locator-name value="PRC"/> </select> </fields></formModel>

<!–- Sample --> <formModel> <reachFormMethod> <httpGetRequest requestUrl = "http://www.barnesandnoble.com"/> </reachFormMethod>  <submitLocator> <locator-xpath value="//input[@title='Search']"/> </submitLocator> <fields> <textBox fieldId="titulo"> <locator-name value="TTL"/> </textBox> … <select fieldId="precio"> <locator-name value="PRC"/> </select> </fields></formModel>

Page 15: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Campos

<!–- Sample --> <formModel> <reachFormMethod> <httpGetRequest requestUrl = "http://www.barnesandnoble.com"/> </reachFormMethod>  <submitLocator> <locator-xpath value="//input[@title='Search']"/> </submitLocator> <fields> <textBox fieldId="titulo"> <locator-name value="TTL"/> </textBox> … <select fieldId="precio"> <locator-name value="PRC"/> </select> </fields></formModel>

<!–- Sample --> <formModel> <reachFormMethod> <httpGetRequest requestUrl = "http://www.barnesandnoble.com"/> </reachFormMethod>  <submitLocator> <locator-xpath value="//input[@title='Search']"/> </submitLocator> <fields> <textBox fieldId="titulo"> <locator-name value="TTL"/> </textBox> … <select fieldId="precio"> <locator-name value="PRC"/> </select> </fields></formModel>

Page 16: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Campos

<!–- Sample --> <formModel> <reachFormMethod> <httpGetRequest requestUrl = "http://www.barnesandnoble.com"/> </reachFormMethod>  <submitLocator> <locator-xpath value="//input[@title='Search']"/> </submitLocator> <fields> <textBox fieldId="titulo"> <locator-name value="TTL"/> </textBox> … <select fieldId="precio"> <locator-name value="PRC"/> </select> </fields></formModel>

<!–- Sample --> <formModel> <reachFormMethod> <httpGetRequest requestUrl = "http://www.barnesandnoble.com"/> </reachFormMethod>  <submitLocator> <locator-xpath value="//input[@title='Search']"/> </submitLocator> <fields> <textBox fieldId="titulo"> <locator-name value="TTL"/> </textBox> … <select fieldId="precio"> <locator-name value="PRC"/> </select> </fields></formModel>

Page 17: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Resultados

Page 18: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Resultados

<!–- Sample --> <formModel> <results> <result contentRegex=“.*”> <action-iterateHub> <product>

<locator-xpath value="//child::div[contains(@class,'book-container')]//h2/a"/> </product>

<nextPage><locator-xpath

value="//a[@class='left-arrow’ and text()='Next']"/> </nextPage>

</action-iterateHub> </result> </results></formModel>

<!–- Sample --> <formModel> <results> <result contentRegex=“.*”> <action-iterateHub> <product>

<locator-xpath value="//child::div[contains(@class,'book-container')]//h2/a"/> </product>

<nextPage><locator-xpath

value="//a[@class='left-arrow’ and text()='Next']"/> </nextPage>

</action-iterateHub> </result> </results></formModel>

Page 19: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Resultados

<!–- Sample --> <formModel> <results> <result contentRegex=“.*”> <action-iterateHub> <product>

<locator-xpath value="//child::div[contains(@class,'book-container')]//h2/a"/> </product>

<nextPage><locator-xpath

value="//a[@class='left-arrow’ and text()='Next']"/> </nextPage>

</action-iterateHub> </result> </results></formModel>

<!–- Sample --> <formModel> <results> <result contentRegex=“.*”> <action-iterateHub> <product>

<locator-xpath value="//child::div[contains(@class,'book-container')]//h2/a"/> </product>

<nextPage><locator-xpath

value="//a[@class='left-arrow’ and text()='Next']"/> </nextPage>

</action-iterateHub> </result> </results></formModel>

Page 20: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Resultados

<!–- Sample --> <formModel> <results> <result contentRegex=“.*”> <action-iterateHub> <product>

<locator-xpath value="//child::div[contains(@class,'book-container')]//h2/a"/> </product>

<nextPage><locator-xpath

value="//a[@class='left-arrow’ and text()='Next']"/> </nextPage>

</action-iterateHub> </result> </results></formModel>

<!–- Sample --> <formModel> <results> <result contentRegex=“.*”> <action-iterateHub> <product>

<locator-xpath value="//child::div[contains(@class,'book-container')]//h2/a"/> </product>

<nextPage><locator-xpath

value="//a[@class='left-arrow’ and text()='Next']"/> </nextPage>

</action-iterateHub> </result> </results></formModel>

Page 21: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Resultados

<!–- Sample --> <formModel> <results> <result contentRegex=“.*”> <action-iterateHub> <product>

<locator-xpath value="//child::div[contains(@class,'book-container')]//h2/a"/> </product>

<nextPage><locator-xpath

value="//a[@class='left-arrow’ and text()='Next']"/> </nextPage>

</action-iterateHub> </result> </results></formModel>

<!–- Sample --> <formModel> <results> <result contentRegex=“.*”> <action-iterateHub> <product>

<locator-xpath value="//child::div[contains(@class,'book-container')]//h2/a"/> </product>

<nextPage><locator-xpath

value="//a[@class='left-arrow’ and text()='Next']"/> </nextPage>

</action-iterateHub> </result> </results></formModel>

Page 22: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Lenguaje de consultas

Asignaciones y producto cartesiano

Cálculo dinámico de valores y plan de reaping

Dependencias

Page 23: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Asignaciones

<!–- Sample -->

<query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value>under $10</value> <value>over $50</value> </simple> </assignments></query>

<!–- Sample -->

<query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value>under $10</value> <value>over $50</value> </simple> </assignments></query>

Page 24: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Asignaciones

<!–- Sample -->

<query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value>under $10</value> <value>over $50</value> </simple> </assignments></query>

<!–- Sample -->

<query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value>under $10</value> <value>over $50</value> </simple> </assignments></query>

Page 25: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Asignaciones

<!–- Sample -->

<query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value>under $10</value> <value>over $50</value> </simple> </assignments></query>

<!–- Sample -->

<query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value>under $10</value> <value>over $50</value> </simple> </assignments></query>

Page 26: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Asignaciones

<!–- Sample -->

<query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value>under $10</value> <value>over $50</value> </simple> </assignments></query>

<!–- Sample -->

<query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value>under $10</value> <value>over $50</value> </simple> </assignments></query>

Page 27: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Dependencias

<query> <javaScript url="reaper-javascript.js" /> <assignments> <dependant>

<group> <simple fieldId="titulo"> <value>computers</value> <value>cars</value>

</simple> <simple fieldId="precio"> <value>under $10</value>

</simple> </group> <group>

<simple fieldId="titulo"> <value>love</value>

</simple> <simple fieldId="precio">

<value>over $50</value> </simple>

</group> <dependant> </assignments></query>

<query> <javaScript url="reaper-javascript.js" /> <assignments> <dependant>

<group> <simple fieldId="titulo"> <value>computers</value> <value>cars</value>

</simple> <simple fieldId="precio"> <value>under $10</value>

</simple> </group> <group>

<simple fieldId="titulo"> <value>love</value>

</simple> <simple fieldId="precio">

<value>over $50</value> </simple>

</group> <dependant> </assignments></query>

Page 28: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Cálculo dinámico de valores

<!–- Sample --> <query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value isJavaScript=“true”>

getIdealPrice(currentField) </value> </simple> </assignments></query>

<!–- Sample --> <query> <javaScript url="reaper-javascript.js" /> <assignments> <simple fieldId="titulo"> <value>computers</value> <value>cars</value> <value>love</value> </simple> <simple fieldId="precio"> <value isJavaScript=“true”>

getIdealPrice(currentField) </value> </simple> </assignments></query>

Page 29: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Resultados experimentales

Page 30: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Resultados experimentales

Iberia TDG Scholar Amazon Barnes & Noble Yahoo Movies Ulises

Page 31: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Índice

Contexto Estado del arte Modelado Conclusiones

Page 32: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Conclusiones

Variaciones protegidas Modelo de formulario abstracto Modelo de consultas Proceso de reaping

Características Itera hubs Cálculos dinámicos Dependencia entre campos

Page 33: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

Problemas

JavaScript

Páginas intermedias

Enlaces ocultos

Sincronización

Page 34: Pablo Íñigo Blasco 44.608.989-Y Rosa Mª Burrueco Jiménez 75.794.976-V Tutor: JUAN M. CORDERO VALLE Cotutor: RAFAEL CORCHUELO GIL Herramientas de Reaping

¡Gracias!

Herramientas de Reaping

Pablo Íñigo Blasco 44.608.989-Y

Rosa Mª Burrueco Jiménez 75.794.976-V

Tutor: JUAN M. CORDERO VALLE

Cotutor: RAFAEL CORCHUELO GIL