2016-03-22 9 views
0

Bir URL için komut istemek üzere bir URL yazacak, urllib kullanarak bu URL'den XML verilerini okuyacağım ve daha sonra XML verilerinin yorum sayımlarını ayrıştırıp ayıklayacağı bir program yazıyorum. Dosyadaki sayıların toplamını hesaplar. İşte kod:XML dosyasından veri ayıklamak: saymak ve toplam sıfır

Enter location: http://python-data.dr-chuck.net/comments_42.xml 
Retrieving http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=http%3A%2F%2Fpython-data.dr-chuck.net%2Fcomments_42.xml 
Retrieved 107 characters 
<?xml version="1.0" encoding="UTF-8"?> 
<GeocodeResponse> 
<status>ZERO_RESULTS</status> 
</GeocodeResponse> 

[] 
Count: 0 
0 

listesi sayısı ve sıfır toplamı yol açan neden boş olduğunu anlamıyorum: Burada

import urllib 
import xml.etree.ElementTree as ET 

serviceurl = 'http://maps.googleapis.com/maps/api/geocode/xml?' 
sum = 0 

while True:  
    address = raw_input('Enter location: ') 
    if len(address) < 1 : break 

    url = serviceurl + urllib.urlencode({'sensor':'false', 'address': address}) 
    print 'Retrieving', url 
    uh = urllib.urlopen(url) 
    data = uh.read() 
    print 'Retrieved',len(data),'characters' 
    print data 
    tree = ET.fromstring(data) 

    lst = tree.findall('comments/comment') 
    print lst 
    print 'Count: ', len(lst) 

    for item in lst: 
     num = int(item.find('count').text) 
     sum = sum + num 

    print sum 

çıkıştır. Herhangi bir tavsiyesi olan var mı?

+0

Hatta ben aynı noktada takılıyorum. Cevabı şimdi aldın mı yoksa hala mücadele mi ettin? Eğer evet ise, lütfen kodunuzu sağlayın. –

cevap

0

Yorum yazılmamış this, indir snippets ... var, çünkü onları bulamıyorsunuz çünkü liste boş.

url = urllib.urlencode({'sensor':'false', 'address': address}) 

yerine olarak bir test: ile deneyin . Temel olarak, girdiğiniz URL ile ilgili bir sorun.

İlgili konular