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.
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
Ahora veamos cómo leer los atributos usando el PyQuery
biblioteca. Supongamos que tiene un elemento HTML como se muestra:
Utilizar el PyQuery
biblioteca para leer el contenido HTML anterior.
ulMain = pq ("
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.
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')
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..
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
.
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)
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
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 MundoBienvenido
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
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..