Articles of Dom

Activar el evento de Javascript en un sitio web remoto con Python

Escribí un código básico de Python para raspar una página web remota y capturar algunos datos. En una página diferente que estoy intentando raspar, los datos se ocultan de la vista y solo aparecen después de cambiar el valor de un cuadro . Después de disminuir y revisar el javascript del sitio web remoto, confirmé […]

Python informe de línea / columna de origen del nodo XML

Actualmente estoy usando xml.dom.minidom para analizar algunos XML en python. Después de analizar, estoy haciendo algunos informes sobre el contenido, y me gustaría informar la línea (y la columna) donde comenzó la etiqueta en el documento XML de origen, pero no veo cómo eso es posible. Me gustaría seguir con xml.dom / xml.dom.minidom si es […]

¿Python es malo en XML?

EDITAR El uso de la frase “mal en XML” en esta pregunta ha sido un punto de discusión, por lo que me gustaría comenzar proporcionando una definición muy clara de lo que quiero decir con este término en este contexto: si se admite el uso de XML estándar. Las API son deficientes y nos obligan […]

Configuración del tiempo de espera de carga de página en el enlace de Selenium Python

Estoy escribiendo un bot que usa Python con el módulo Selenium. Cuando abro una página web con mi bot, ya que la página web contiene demasiadas fonts externas que dom, se necesita mucho para cargar toda la página. Utilicé las esperas explícitas e implícitas para eliminar este problema, ya que solo quería que se cargara […]

HTML sin procesar frente a DOM que raspa en python usando mecanizar y sopa hermosa

Estoy intentando escribir un progtwig que, como ejemplo, eliminará el precio máximo de esta página web: http://www.kayak.com/#/flights/JFK-PAR/2012-06-01/2012-07-01/1adults Primero, puedo recuperar fácilmente el HTML haciendo lo siguiente: from urllib import urlopen from BeautifulSoup import BeautifulSoup import mechanize webpage = ‘http://www.kayak.com/#/flights/JFK-PAR/2012-06-01/2012-07-01/1adults’ br = mechanize.Browser() data = br.open(webpage).get_data() soup = BeautifulSoup(data) print soup Sin embargo, el HTML en […]

Obtenga el primer enlace en un artículo de Wikipedia que no esté entre paréntesis

Así que me interesa esta teoría de que si vas a un artículo aleatorio de Wikipedia, haz clic en el primer enlace que no esté entre paréntesis repetidamente, en el 95% de los casos terminarás en el artículo sobre Filosofía . Quería escribir un script en Python que haga la búsqueda del enlace para mí […]

¿Cómo analizar el texto reestructurado en python?

¿Hay algún módulo que pueda analizar el texto reestructurado en un modelo de árbol? ¿Puede hacer esto docutils o sphinx?

Rutas específicas para encontrar elementos XML utilizando minidom en Python

Según este hilo , estoy usando xml.dom.minidom para hacer un desplazamiento XML muy básico, de solo lectura. Lo que me confunde es por qué su getElementsByTagName está encontrando nodos en varios niveles jerárquicos sin proporcionar explícitamente su ruta exacta. XML: Código Python: xmldoc = minidom.parse(‘sampleXML.xml’) items = xmldoc.getElementsByTagName(‘item’) for item in items: print item.attributes[‘name’].value Huellas […]

¿Cómo establecer la identificación del elemento en xml.dom.minidom de Python?

¿Cómo? Creó un documento y un elemento: import xml.dom.minidom as d a=d.Document() b=a.createElement(‘test’) setIdAttribute no funciona 🙁 b.setIdAttribute(‘something’) Traceback (most recent call last): File “”, line 1, in File “/usr/lib/python2.6/xml/dom/minidom.py”, line 835, in setIdAttribute self.setIdAttributeNode(idAttr) File “/usr/lib/python2.6/xml/dom/minidom.py”, line 843, in setIdAttributeNode raise xml.dom.NotFoundErr() xml.dom.NotFoundErr Y si configuro esto a mano, getElementById no puede encontrarlo. b.setAttribute(‘id’, […]

¿Cómo encontrar el valor del elemento usando Splinter?

Tengo la siguiente pieza de html: foo: foo bar: bar foo2: description: description body another foo: foooo Me gustaría obtener el cuerpo de la descripción utilizando splinter. He logrado obtener una lista de p usando browser.find_by_css(“p.attrs”)