2011-02-03 29 views
5

Tôi đang thử mở và phân tích cú pháp một số html. Cho đến nay, nó là ok, tôi có thể mở nguồn và in nó cho ví dụ. Nhưng khi nói đến phân tích cú pháp Tôi đang mắc kẹt với "ElementTree dụ không có thuộc tính 'fromstring"Ví dụ ElementTree không có thuộc tính 'fromstring'. Vì vậy, những gì tôi đã làm sai?

này là Django view.py mã của tôi:

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 Version: 1.2.4 Python Version : 2.6.5

Có ai có ý tưởng nào không?

Trả lời

13

tuyên bố nhập khẩu của bạn là sai ... fromstring là một chức năng miễn phí trong module xml.etree.ElementTree, không phải là một phương pháp của lớp xml.etree.ElementTree.ElementTree:

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

nó có ý nghĩa, nhưng bây giờ kịch bản mất máy chủ xuống. không chắc chắn lý do tại sao. – Nanook

Các vấn đề liên quan