26/7/13

Scrapy - Ejemplo

Una vez tenemnos instalado Scrapy, vamos a crear un proyecto de ejemplo, de momento vamos a probar con el jemplo que tenemos en  http://doc.scrapy.org/en/latest/intro/tutorial.html

Para ello abrimos una ventana de linea de comandos, Ejecutar\ cmd, nos situamos en el directorio que vamos a crear el proyecto, en mi caso lo voy hacer en C:\Python27 y escribimos la siguiente sentencia:

""


Esto crea una estructuras de carpetas donde podremos trabjar.




  • scrapy.cfg: fichero de configuración del proyecto
  • tutorial/: modulo del proyecto python.
  • tutorial/items.py: fichero con items (declaraciones de variables con formas de objetos)
  • tutorial/pipelines.py:
  • tutorial/settings.py: fichero de configuración.
  • tutorial/spiders/: directorio donde crearemos nuestros spiders.

- En "..\tutorial\tutorial" tenemos varios archivos, vamos a modificar los que nos interesan de momento:
  • En items.py definimos los items, son clases donde declaramos las variables que necesitaremos, podemos asemejarlos a objetos.from scrapy.item import Item, Field class DmozItem(Item): title = Field() link = Field() desc = Field()
from scrapy.item import Item, Field

class DmozItem(Item):
    title = Field()
    link = Field()
    desc = Field()
 
- En "..\tutorial\tutorial\spiders" crearemos el programa que ejecutamos (araña). 
  •  Ahora crearemos en "C:\Python27\tutorial\tutorial\spiders" nuestro código con nombre "dmoz.pyc":
from scrapy.spider import BaseSpider

class DmozSpider(BaseSpider):
    name = "dmoz"
    allowed_domains = ["dmoz.org"]
    start_urls = [
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
    ]

    def parse(self, response):
        filename = response.url.split("/")[-2]
        open(filename, 'wb').write(response.body)

En estos momentos podemos ejecutarlo a través de la linea de comandos con la sentencia:
scrapy crawl dmoz, y obtendremos lo siguiente:



Esta ejecución lo que hace es generar dos ficheros nuevos en nuestro directorio"C:\Python27\tutorial\tutorial\spiders" denominados "Books" y "Resource", cada uno de ellos contiene el body de las url que se le han solicitado en el spider "dmoz".

Proximamente incluiremos mas ejemplos utilizando scrapy, este primer ejemplo lo hemos hecho partiendo de la web http://doc.scrapy.org/en/latest/intro/tutorial.html para comprobar que teniamos todo bin configurado.

Ejemplo Bind Variables



Vamos a ver un ejemplo de bind variables, ya que suele ser bastante útiles en muchos casos, con ellas podemos unificar muchos procesos y operaciones:

Antes de nada necesitamos crear una tabla para hacer las pruebas:

--Tabla de prueba para usar las bind variables
create table PRUEBA(
    NUM number(22),
    TEXTO varchar(100));

Vamos a ver un bloque pl/sql que inserta en nuestra tabla de pruebas:  
 
--Carga con parámetros por valor:
declare
    v_i number;
begin
    loop
        INSERT INTO PRUEBA VALUES (3, '50');
        v_i := v_i + 1;
        exit when v_i > 1000000;
    end loop;
    commit;
end;

Ahora vamos a ver un bloque pl/sql que inserta en nuestra tabla de pruebas utilizando bind variables:   
 
--Carga con parámetros usando bind variables
declare
    v_i number;
begin
    loop
        execute immediate 'INSERT INTO PRUEBA VALUES (:x, :y)' using 3, '50';
        v_i := v_i + 1;
        exit when v_i > 1000000;
    end loop;
    rollback;
end;

Oracle FORMs y Oracle REPORTs



Introducción a Oracle Forms

Oracle Forms no es más que la herramienta de desarrollo que nos proporciona el conjunto de productos Oracle Developer en el campo de las GUI (Interfaces Gráficas de Usuario). Además, nos ofrece la suficiente flexibilidad para ajustar las aplicaciones con el fin de sacarles el máximo rendimiento.

Oracle Forms nos da la posibilidad de realizar aplicaciones de una forma más vistosa y sencilla, ya que nos proporciona una herramienta visual con la que diseñar las pantallas con total libertad para poder desarrollar todo tipo de aplicaciones. El lenguaje de programación en el que trabajaremos será PL/SQL.

Esta herramienta está compuesta por una gran cantidad de funciones que permiten construir aplicaciones con gran facilidad, ya que se maneja con el ratón y ofrece la posibilidad de realizar la mayor parte del desarrollo de las aplicaciones sin tener que codificar apenas nada, gracias a la generación de código y a la gestión automatizada que genera Oracle Forms al utilizar objetos asociados a datos.

Las aplicaciones en Oracle Forms hacen posible lo siguiente:
- Introducir, actualizar, borrar y consultar datos almacenados en la Base de Datos, en otras palabras, interactuar completamente con la base de datos Oracle con la cual estemos trabajando.
- Controlar formularios a través de varias ventanas. Realizar transacciones de Bases de Datos.
- Enviar datos directamente a Oracle Reports.

Es importante tener en cuenta que:
− El lenguaje de programación utilizado por Oracle Forms es PL/SQL.
− El principal vínculo de unión Oracle Forms con la Base de Datos es lo que denominamos un Bloque, el cual está asociado con un objeto de la Base de Datos, que puede ser una tabla o un Procedimiento y a su vez se componen de items y tanto los items como los bloque podrán tener triggers o disparadores.
− Las Herramientas que utiliza Oracle Forms son: el editor de diseño o de presentaciones (layout editor) para diseñar las pantallas; el navegador de objetos (object navigator) para controlar todos los objetos (con sus propiedades) de los formularios; y el editor PL/SQL (PL/SQL editor).
− A partir de la versión 9i de Oracle Forms se dejo ó de utilizar el entorno cliente/servidor lo que obligó a incorporar los Java Beans para realiza cualquier tipo de programación que no te ofrezca Oracle Forms 9i. Para ello Oracle Developers nos proviene de una herramienta que realiza las funciones de servidor local.
− Los Tipos de archivos usados por Oracle Forms son los siguientes:

  • Formularios: *.FMB -> *.FMX
  • Menús: *.MMB -> *.MMX
  • Librerías: *.PLL ->*.PLX



Introducción a Oracle Reports

Oracle Reports nos permite gestionar de manera sencilla todo tipo de listado. Disponemos de muchas posibilidades dentro de esta herramienta que nos permiten hacer una visión previa de los resultados de una manera cómoda y rápida.

Tenemos a nuestra disposición tres programas que conforman Oracle Reports:
- Diseñador: En él definimos y diseñamos nuestros listados e informes.
- Generador: Genera aplicaciones construidas por el diseñador convirtiéndolas en ejecutables que puede manejar el programa de ejecución.
- Ejecución. Este modulo ejecuta las aplicaciones creadas con los dos anteriores.

Podemos decir que existen tres fases distintas para realizar un informe. Primero creamos la definición de dicho informe, su estructura. Luego definimos el modelo de datos, es decir los datos que vamos a utilizar, sus relaciones, etc. Por fin diseñamos la forma que va a tener, su apariencia física

25/7/13

Módulos y Paquetes de Python

Cuando estamos trabajando con Python nos puede interesar utilizar funcionalidades que debemos importar, para ellos debemos descarga e instalar algunos módulos y/o paquetes. 

Algunos de estos paquetes pueden ser:

- Python - SETUPTOOLS 0.9.5  Buscar Descarga Aqui paquete que permite descargar, instalar, actualizar o desinstalar paquetes Python mediante el comando easy_install.
 

 - pip-131 Buscar Descarga Aqui instalador pip que nos permitirá descargar e instalar paquetes y librerías para el entorno de desarrollo de Python de manera sencilla y rápida sin la necesidad de tener que buscarlos en la red.
- iPython 0.13.2  Buscar Descarga Aqui intérprete de comandos de Python mas potente que el que viene por defecto con Pyhton 2.7.5.
- PyReadline 2.0  Buscar Descarga Aqui característica de autocompletado de iPython.  

PyGame 1.9.1 o 1.9.2 Descarga  La librería de rutinas de bajo nivel.

- numpy 1.6.1Descarga  Una librería de cálculo numérico, para ciertas operaciones en PyGame.

- pymunk 1.0.0Descarga  Una librería de física 2D.

- PyYAML 3.10Descarga Un lector de archivos formato YAML. Muy útil para lectura de archivos de configuración.

- MySQLdb  Buscar Descarga Aqui Para poder interactuar con una base de datos MySQl.

- wxPython Buscar Descarga Aqui Para pode trabajar con un entorno gráfico.


Python - SETUPTOOLS 0.9.5


Mediante la instalación del paquete setuptools 0.9.5 se podrá descargar, instalar, actualizar o desinstalar paquetes Python mediante el comando easy_install.

Para ello descargaremos el instalador de la siguiente página:




Seleccionamos el marcado en rojo que se corresponde con la última versión, setuptools 0.9.5, para la versión de Python 2.7.5 y Windows de 32 bits. 

Una vez descargado el instalador, setuptools-0.9.5.win32-py2.7.exe, lo ejecutamos desde la misma carpeta donde se haya descargado en el ordenador, iniciándose un asistente que nos guiará por la instalación. Pulsamos el botón de ejecutar.





Esta ventana solo presenta información de la versión setuptools 0.9.5 que se va instalar. Pulsamos el botón de siguiente:




Esta ventana informa que setuptools 0.9.5 se va a instalar sobre el intérprete de comandos Python 2.7.5 que instalamos en el paso 2.1, Pulsamos el botón de siguiente:




Esta ventana inicia la instalación. Pulsamos el botón de siguiente:




Una vez finalizada la instalación satisfactoriamente cerramos el instalador pulsando el botón de finalizar:





Una vez instalado satisfactoriamente setuptools 0.9.5 ya se puede utilizar el comando easy_install para instalar los paquetes de Python que necesitemos con solo escribir el comando easy_install y a continuación el nombre del paquete que se quiere instalar.
 






 Oscar