selenium como herramienta de web scraping

17
Selenium como herramienta de Web Scraping @dani_latorre - 26/08/2013 - Zaragoza Python Days

Upload: dani-latorre

Post on 30-Aug-2014

3.906 views

Category:

Technology


1 download

Tags:

DESCRIPTION

Charla en el grupo de Python Zaragoza 

TRANSCRIPT

Page 1: Selenium como herramienta de Web Scraping

Selenium como herramienta de Web Scraping

@dani_latorre - 26/08/2013 - Zaragoza Python Days

Page 2: Selenium como herramienta de Web Scraping

Web Scraping

• “... es una técnica utilizada mediante programas de software para extraer información de sitios web.”

• Ingeniería inversa

• Controvertido

Page 3: Selenium como herramienta de Web Scraping

Selenium

• “Selenium is a suite of tools to automate web browsers across many platforms.”

• Testing de aceptación web

• Automatización de acciones de usuario

• Web scraping

Page 4: Selenium como herramienta de Web Scraping

Bindings• Python

• Java

• C#

• Ruby

• Javascript - Node

• PHP, Perl (mantenidos por terceros)

Page 5: Selenium como herramienta de Web Scraping

Otras librerías

• urllib

• Mechanize

• BeautifulSoup/lxml

• Scrapy (crawling)

Page 6: Selenium como herramienta de Web Scraping

Viene bien

• XPath

• Selectores CSS

• Expresiones Regulares

• Mucha paciencia

Page 7: Selenium como herramienta de Web Scraping
Page 8: Selenium como herramienta de Web Scraping

¿Por qué selenium?

Page 9: Selenium como herramienta de Web Scraping

Caso ShuttleCloud

• Migración entre proveedores de email

• Necesidad de escalabilidad

• Homogeneizar scrapers

• Herramienta madura

Page 10: Selenium como herramienta de Web Scraping
Page 11: Selenium como herramienta de Web Scraping

Infraestructura (EC2)• 1 Selenium Hub

• 3 Selenium Grid (15 firefox)

• 1 BrowserMob Proxy

• 3 BigCouch

• 1 Rabbit MQ

• 1 Scrapers

Page 12: Selenium como herramienta de Web Scraping

Selenium with Python

Page 13: Selenium como herramienta de Web Scraping

find_element_by...• _id / _name

• _tag_name

• _link_text / _partial_link_text

• _class_name

• _css_selector

• _xpath

Page 14: Selenium como herramienta de Web Scraping

Navegación• get("http://dlabs.co/")

• anchor_element.click()

• switch_to_window("name")

• switch_to_frame("name")

• add_cookie({"key": "value"})

• get_cookies()

Page 15: Selenium como herramienta de Web Scraping

Interacción

• input.send_keys("some text")

• input.clear()

• option.click()

• submit.click()

• execute_script(“alert(‘foo’)”)

Page 17: Selenium como herramienta de Web Scraping

Gracias