Articles of lxml

Raspado web de Python con tags HTML con atributos

Estoy tratando de hacer un raspador web que analice una página web de publicaciones y extraiga a los autores. La estructura esquelética de la página web es la siguiente: ####I want whatever is located here ### He estado intentando usar BeautifulSoup y lxml hasta ahora para realizar esta tarea, pero no estoy seguro de cómo […]

LXML – Orden de etiqueta de clasificación

Tengo un formato de archivo heredado que estoy convirtiendo a XML para su procesamiento. La estructura se puede resumir como: X Y Z La parte numérica de las tags puede ir de 01 a 99 y puede haber espacios. Como parte del procesamiento, ciertos registros pueden tener tags adicionales agregadas. Una vez que se completa […]

¿Cómo obtengo todo el contenido entre dos tags xml en Python?

Intento obtener todo el contenido entre una etiqueta xml de apertura y su contraparte de cierre. Obtener el contenido en casos directos como el title continuación es fácil, pero ¿cómo puedo obtener todo el contenido entre las tags si se utiliza contenido mixto y quiero conservar las tags internas ? Some testing stuff Some text […]

El raspado de HTML usando lxml y las solicitudes da un error de Unicode

Estoy tratando de usar un raspador de HTML como el que se proporciona aquí . Funciona bien para el ejemplo que proporcionan. Sin embargo, cuando trato de usarlo con mi página web , recibo este error: Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration. Unicode strings […]

¿Cómo usar lxml para encontrar un elemento por texto?

Supongamos que tenemos el siguiente html: TEXT A TEXT B TEXT C ¿Cómo hago para que encuentre el elemento “a”, que contiene “TEXTO A”? Hasta ahora tengo: root = lxml.hmtl.document_fromstring(the_html_above) e = root.find(‘.//a’) He intentado: e = root.find(‘.//a[@text=”TEXT A”]’) pero eso no funcionó, ya que las tags “a” no tienen atributo “texto”. ¿Hay alguna manera […]

Setup.py: instala lxml con Python2.6 en CentOS

He instalado Python 2.6.6 en CentOS 5.4, [siyuan.tong@SC-055 lxml-2.3beta1]$ python Python 2.6.6 (r266:84292, Jan 4 2011, 09:49:55) [GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. >>> Quiero usar el módulo lxml, pero la comstackción de fonts falló: src/lxml/lxml.etree.c:157929: error: ‘xsltLibxsltVersion’ undeclared (first use in this function) […]

Encuentra la versión lxml de python

¿Cómo puedo encontrar la versión de python-lxml instalada en un sistema Linux? >>> import lxml >>> lxml.__version__ Traceback (most recent call last): File “”, line 1, in AttributeError: ‘module’ object has no attribute ‘__version__’ >>> from pprint import pprint >>> pprint(dir(lxml)) [‘__builtins__’, ‘__doc__’, ‘__file__’, ‘__name__’, ‘__package__’, ‘__path__’, ‘get_include’, ‘os’] >>> Parece que no puedo encontrarlo

Impresora XML bonita de Python con lxml

Después de leer un archivo existente con ‘feo’ XML y hacer algunas modificaciones, la impresión bonita no funciona. He intentado etree.write(FILE_NAME, pretty_print=True) . Tengo el siguiente XML: …. Y lo uso así: tree = etree.parse(‘original.xml’) root = tree.getroot() … # modifications … with open(FILE_NAME, “w”) as f: tree.write(f, pretty_print=True)

¿Cómo encontrar recursivamente para una etiqueta de XML usando LXML?

Usando lxml es posible encontrar recursivamente para la etiqueta “f1”? Intenté encontrar todos los métodos pero solo funciona para niños inmediatos. Creo que debería ir por BeautifulSoup para esto!

Codificación en python con lxml – solución compleja

Necesito descargar y analizar la página web con lxml y comstackr la salida xml de UTF-8. Creo que el esquema en pseudocódigo es más ilustrativo: from lxml import etree webfile = urllib2.urlopen(url) root = etree.parse(webfile.read(), parser=etree.HTMLParser(recover=True)) txt = my_process_text(etree.tostring(root.xpath(‘/html/body’), encoding=utf8)) output = etree.Element(“out”) output.text = txt outputfile.write(etree.tostring(output, encoding=utf8)) Por lo tanto, el archivo web puede […]