2010-10-28 19 views
0

J'ai le code BeautifulSoup suivant, un peu simplifié.BeautifulSoup est trop lent. Est-ce que lxml peut faire ça?

soup = BeautifulSoup(html) 
for item in soup.findAll('div',id=compile('^result_')): 
    q = item.find('a',{'class':'title'}) 
    if q: 
    ... 
    q = item.find('div',{'class':['one','two']}) 
    if q: 
    ... 

Je l'ai profilé, et c'est assez lent. Je veux essayer lxml à la place, mais il semble être un peu illogique, par rapport à BeautifulSoup au moins, et je ne suis pas sûr qu'il peut gérer des cas plus complexes.

Le code ci-dessus peut-il être converti en libxml? Je ne veux pas de code, juste la confirmation fera l'affaire. Merci.

Répondre

1

Depuis lxml supports XPath, je dirais: oui, c'est certainement possible.

+0

Je voulais juste ajouter que j'étais capable de convertir tout le code BeautifulSoup en lxml. Cela fonctionne, et c'est beaucoup plus rapide. Je ne peux que le recommander. –