2009-12-12 15 views
11

Posso usare python lxml sul motore di app di google? (o devo usare Beautiful Soup?)python lxml sul motore di app?

Ho iniziato a usare Beautiful Soup ma sembra lento. Sto solo iniziando a giocare con l'idea di "screen scraping" dei dati di altri siti web per creare una sorta di "mash-up".

risposta

23

EDIT: Se si use python2.7 sul AppEngine, il lxml libreria is supported.


Risposta breve: you can't.

Dalla documentazione di AppEngine: "Il codice dell'applicazione scritto per l'ambiente Python deve essere scritto esclusivamente in Python estensioni scritte in linguaggio C non sono supportati"

Ora, se è necessario utilizzare BeautifulSoup o no, in realtà dipende su come pensi di usarlo. Aggiorna la domanda con i dettagli e cercherò di aggiornare qui con altri suggerimenti, se possibile.

+5

È _couldn't_, ma a partire da Python 2.7 su AppEngine [si può] (http://code.google.com/appengine/docs/python/python27/newin27.html#Supported_Third-Party_Libraries). – Paul

+0

Grazie per l'avviso, @Paul. Ho aggiornato la risposta. –

+0

Impossibile trovare lxml. Quello che è successo? – seriousdev

12

Per aggiungere alla risposta rivisto di Caio, è possibile utilizzare lxml e questo è come farlo:

Nel file app.yaml, aggiungere il seguente:

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

Ora import lxml funzionerà nel vostro Python script.

Here is the link to the official documentation.

+4

vuoi dire "import lxml';) – theta

+3

Non ci dovrebbe essere un trattino prima di" versione: 2.3 ". –

+0

Sfortunatamente, GAE fornisce solo una vecchia versione di lxml. Nella versione "più recente" di lxml di GAE manca l'attributo "safe_attrs", fondamentale per l'implementazione della sicurezza XSS. – Lindsay

Problemi correlati