2011-02-03 24 views
5

Bazı html'yi açmaya ve ayrıştırmaya çalışıyorum. Şimdiye kadar, iyiydi, kaynağı açıp örneğin basabiliyorum.ElementTree örneğinin 'fromstring' özelliği yoktur. Yani, yanlış yaptığım şey?

from django.template import loader, Context 
from django.http import HttpResponse 
import urllib 
from xml.etree.ElementTree import ElementTree 

def transform (request): 
    opener = urllib.FancyURLopener({}) 
    f = opener.open("http://www.google.com/") 
    r = f.read() 
    f.close() 
    tree = ElementTree() 
    tree.fromstring(r) 
    p = tree.find("body/h1") 
    t = loader.get_template("transform.html") 
    c = Context({'neco': p }) 
    return HttpResponse(t.render(c)) 

Django Versiyon: 1.2.4 Python Versiyon o ayrıştırma gelince bu benim Django view.py kodudur

"elementtree örneği hiçbir özelliği 'ni fromString' vardır" takıldım : 2.6.5

Herkesin bir fikri var mı, lütfen?

cevap

13

Sizin ithalat beyanı fromstringxml.etree.ElementTree modülünde bir serbest fonksiyonu, değil sınıfın xml.etree.ElementTree.ElementTree yöntemidir ... yanlıştır:

from xml.etree import ElementTree as etree 
... 
tree = etree.fromstring(r) 
+1

mantıklı, ama şimdi komut sunucuyu aşağı çekmek. emin değilim neden. – Nanook

İlgili konular