2017-07-02 15 views
-3

我有這個代碼的問題。 這是開始Python 3,xml,coursera

import urllib.request, urllib.parse, urllib.error 
import xml.etree.ElementTree as ET 
from urllib.request import urlopen 
import ssl 


ctx = ssl.create_default_context() 
ctx.check_hostname = False 
ctx.verify_mode = ssl.CERT_NONE 

url ='http://py4e-data.dr-chuck.net/comments_2403.html' 
html = urlopen(url, context=ctx).read() 
print('Retrieving', url) 
uh = urllib.request.urlopen(url) 
data = uh.read() 
data = data.decode() 
print('Retrieved', len(data), 'characters') 
tree = ET.fromstring(data) 

results = tree.findall('comments/comment/count') 
print(tree) 

而這其輸出:

Retrieving http://py4e-data.dr-chuck.net/comments_2403.html 
Retrieved 3548 characters 
[] 
<Element 'html' at 0x02F11930> 

是什麼意思?列表或數據在哪裏?請幫忙!!!

回答

0

我修復了這段代碼,現在他工作了。問題出在.text上,我忘了這件事。

import urllib.request 
import xml.etree.ElementTree as ET 

url = input('Enter location:') 
print ('Retrieving', url) 
site = urllib.request.urlopen(url) 
data = site.read().decode() 
print ('Retrieved',len(data),'characters') 

tree = ET.fromstring(data) 
info = tree.findall('comments/comment') 
lst=[] 

for stuff in info: 
    numbers = int(stuff.find('count').text) 
    lst.append(numbers) 
print('Count:',len(lst)) 
print("Sum:", sum(lst))