2009-12-12 8 views
11

¿Puedo usar python lxml en el motor de la aplicación google? (¿o tengo que usar Beautiful Soup?)python lxml en el motor de la aplicación?

He comenzado a usar Beautiful Soup pero parece lento. Estoy empezando a jugar con la idea de datos de "screen scraping" de otros sitios web para crear algún tipo de "mash-up".

Respuesta

23

EDITAR: Si use python2.7 en App Engine, la biblioteca lxmlis supported.


Respuesta corta: you can't.

a partir de documentos de AppEngine: "El código de aplicación escrito para el entorno Python debe ser escrito exclusivamente en Python extensiones escritos en el lenguaje C no son compatibles"

Ahora si debe utilizar BeautifulSoup o no, realmente depende sobre cómo planeas usarlo. Actualice la pregunta con detalles e intentaré actualizar aquí con otras sugerencias, si es posible.

+5

Usted _couldn't_, pero a partir de Python 2.7 en App Engine [Puede] (http://code.google.com/appengine/docs/python/python27/newin27.html#Supported_Third-Party_Libraries) – Paul

+0

Gracias por el aviso, @Paul. He actualizado la respuesta. –

+0

No se puede encontrar lxml. ¿Que pasó? – seriousdev

12

Para añadir a la respuesta revisada de Caio, puede utilizar lxml y así es como se hace:

En el archivo app.yaml, agrega lo siguiente:

libraries: 
- name: lxml 
    version: "2.3" # or "latest" 

Ahora import lxml trabajará en su Python guión.

Here is the link to the official documentation.

+4

quieres decir 'import lxml';) – theta

+3

No debería haber un guion antes de" versión: 2.3 ". –

+0

Desafortunadamente, GAE proporciona solo una versión anterior de lxml. La última versión de GAE de lxml le falta el atributo "safe_attrs", que es vital para implementar la seguridad de XSS. – Lindsay

Cuestiones relacionadas