PyQuery jQuery de Python

En este tutorial, echa un vistazo a PyQuery, una biblioteca de Python que le permite realizar consultas de jQuery en documentos XML. Sintácticamente es bastante similar a jQuery, y si estás familiarizado con jQuery debería ser más fácil de seguir.

Empezando con PyQuery

Para empezar PyQuery, instala el paquete Python usando PIP.

pip instalar pyquery

Una vez que haya instalado PyQuery, importarlo en el programa Python.

desde pyquery importar PyQuery como pq

Comencemos con un ejemplo básico de cómo funciona. Considere el siguiente HTML: 

Hola Mundo

Pase el XML de entrada a la PyQuery Objeto y deberías poder aplicarle consultas de estilo jQuery.

divMain = pq ("
Hola Mundo
")

Asumir divMain como un objeto jQuery e imprima el contenido HTML del div.

print divMain ('# divMain'). html ()

Guarde los cambios e intente ejecutar el programa. Deberías tener el siguiente resultado:

Hola Mundo

Para acceder a la Hola Mundo Texto desde el interior del tramo, el código sería:

imprimir divMain ('# divMain'). text ()

Guarde los cambios e intente ejecutar el código. Deberías tener el siguiente resultado:

Hola Mundo

Manipulación de atributos usando PyQuery

Ahora veamos cómo leer los atributos usando el PyQuery biblioteca. Supongamos que tiene un elemento HTML como se muestra:

  • Roy
  • Hari

Utilizar el PyQuery biblioteca para leer el contenido HTML anterior.

ulMain = pq ("
  • Roy
  • Hari
")

Intentemos acceder al atributo ID del ulMain ul.

imprimir ulMain.attr ('id')

Guarde los cambios anteriores e intente ejecutar el programa Python. Usted debe tener identificación ulMain impreso en la terminal.

Ya viste como acceder al atributo ID de la ul ulMain. Intentemos establecer un nombre de clase para el mismo ulMain elemento. Para especificar un atributo de nombre de clase, debe especificar el nombre del atributo y su valor correspondiente como se muestra:

ulMain.attr ('class', 'testclass')

Imprimir el ulMain objeto y debe tener el elemento con el atributo de clase.

  • Roy
  • Hari

También puede agregar y eliminar clases directamente sin usar el attr método. Para agregar una clase al elemento, puede hacer uso del método addClass

ulMain.addClass ('prueba')

Para eliminar una clase existente del elemento, puede hacer uso de la removeClass método.

ulMain.removeClass ('prueba')

Manejo de CSS utilizando PyQuery

Aparte de los atributos, el elemento tendría algunas propiedades CSS. Para agregar o modificar las propiedades CSS, puede usar el css Método y especificar las propiedades. Digamos que desea especificar la altura en el estilo de la ul ulMain. El siguiente código agregaría las propiedades de estilo requeridas al elemento.

ulMain.css ('altura', '100px')

Guarde los cambios anteriores e intente ejecutar el programa Python. Deberias tener la ul ulMain Impreso junto con el nuevo estilo..

  • Roy
  • Hari

Para agregar varios estilos al elemento, puede especificarlos como se muestra:

ulMain.css ('height': '100px', 'width': '100px')

Ejecuta el programa y deberías tener los estilos agregados al ulMain.

  • Roy
  • Hari

Creación y adición de elementos

Durante la creación de elementos dinámicos, debe crear nuevos elementos y agregarlos al elemento principal existente donde se representarán. Veamos cómo crear y anexar elementos usando PyQuery

Supongamos que tiene un div contenedor principal llamado divMain.

divMain = pq ("
")

Vamos a crear un nuevo elemento span utilizando PyQuery.

span = pq ('Hola Mundo')

Añadir algunas propiedades CSS a la extensión.

span.css ('color': 'blue', 'font-weight': 'bold')

PyQuery proporciona un método para agregar elementos a los elementos existentes. Puedes usar el adjuntar Método para añadir el elemento span al div divMain. Aquí está el código:

divMain.append (span) imprime divMain

Guarda los cambios y ejecuta el programa. Deberías poder ver el divMain impreso con el nuevo espacio creado anexado.

Hola Mundo

Usaste el método de agregar para agregar el intervalo a la división. Tienes otro método alternativo llamado añadir a Lo que anexaría los nodos al valor. En el caso anterior puedes usar el método así:

span.appendTo (divMain)

Encontrar elementos usando PyQuery

PyQuery proporciona métodos para encontrar niños, los siguientes elementos, los elementos más cercanos, etc. También proporciona métodos para filtrar y encontrar elementos dentro de un nodo particular.

Supongamos que tiene una pieza particular de HTML como se muestra:

  • Jade
  • Jim
Hola Mundo

Agregue el siguiente HTML a la PyQuery objeto:

divMain = pq ("
"+"
"+"
    "+"
  • Jade
  • "+"
  • Jim
  • "+"
""
"+"
"+"Hola Mundo""
"+"
")

Vamos a usar PyQuery para encontrar a los niños del div divMain. Agregue la siguiente línea de código para imprimir los hijos de divMain.

imprimir divMain.children ()

Al ejecutar el programa, debe tener la siguiente salida:

  • Jade
  • Jim
Hola Mundo

Para encontrar el elemento más cercano a un elemento, puede utilizar el método más cerca. Para encontrar el elemento div más cercano al intervalo, el código sería:

print divMain ('span'). closest ('div')

El comando anterior devolvería la siguiente salida:

Hola Mundo

UNA encontrar El método también está disponible para encontrar los elementos. Por ejemplo, para encontrar un lapso dentro de la divMain, necesitas llamar al método como se muestra:

imprimir divMain.find ('span')

El comando anterior devolvería el lapso.

Hola Mundo

Insertar un elemento dentro de HTML

Mientras adjuntar hace el trabajo de agregar elementos a los elementos existentes, a veces es necesario insertar elementos después o antes de ciertos elementos. PyQuery proporciona un método para insertar elementos antes o después de otros elementos.

Definamos un nuevo elemento de párrafo que se insertará después del intervalo dentro de la divMain div.

p = pq ('

Bienvenido

')

Llama a insertar después de método en el párrafo pag Elemento para insertarlo después del lapso..

p.insertAfter (divMain ('span')) imprime divMain

Guarde los cambios anteriores y ejecute el programa Python. Deberías tener el siguiente resultado:

  • Jade
  • Jim
Hola Mundo

Bienvenido

Del mismo modo, tienes la insertar antes de Método, que inserta antes del elemento. Modifique el código como se muestra a continuación para usar el insertar antes de método: 

 p.insertBefore (divMain ('span')) print divMain 

Guarda los cambios y ejecuta el programa. Debería poder ver la siguiente salida en el terminal:

  • Jade
  • Jim

Bienvenido

Hola Mundo

Envolviendolo

En este tutorial, viste cómo comenzar con PyQuery, una biblioteca de Python que le permite realizar consultas de jQuery en documentos XML. Ya viste cómo manipular los atributos y estilos CSS de los elementos HTML. 

Aprendió cómo crear y agregar elementos a elementos existentes e insertar elementos nuevos antes y después de los elementos. Lo que viste en este tutorial es solo la punta del iceberg, y hay mucho más que esta biblioteca tiene para ofrecer..

Para obtener información más detallada sobre el uso de esta biblioteca, recomendaría leer la documentación oficial. Háganos saber sus sugerencias en los comentarios a continuación..