Python Data Mashup - Geocode


Hi, I'm new to Python and am having trouble with this.
Here's my code:

import urllib, urllib2, re import xml.etree.ElementTree as ET from bs4 import BeautifulSoup # The get_zipcode(address) function will be called with an address string with # no zip code, such as 'Lowell Observatory, Flagstaff, AZ', and it should return the # ZIP code of the address as a string # For example, get_zipcode('Lowell Observatory, Flagstaff, AZ') should return '86001' # Use the Google Geocoding API to obtain the ZIP code. Documentation: # # Can use either json or xml output format. def get_zipcode(address): zipcode = '' url_values = urllib.urlencode(address) url="" % address
  #return zipcode
  response = urllib2.urlopen(url)
  return response

I'm getting an error and don't really know how to continue to get the output I want. Especially with extracting the zip code from the json output. Any help would be greatly apprecited!


So, what is your error message?


Convert the json string object to a Python dictionary and look at the dictionary keys.


Actually, I solved the zipcode part. I ended up using the xml output to grab the data. :D
But now I really have no idea how to get the current weather conditions from the rss weather feed.
Right now, this is my code:

def get_weather(zipcode): weather = '' # +++your code here+++ url1 = ""
  url2 = url1 + zipcode
  response = urllib2.urlopen(url2).read()
  root = ET.fromstring(response)
  print root

I have to go to the item tag that has the Current weather conditions (from and then grab the link under that tag, but I don't know how to do either especially since it has this weird <![CDATA[ in front.

<link> <![CDATA[

Also, since I'm doing this for multiple zipcodes and cities, I don't know how to set it so it reads only that item tag...
Hopefully that makes sense.

Question Answered as of 2 Years Ago by Lardmeister and ZZucker
This question has already been solved: Start a new discussion instead
Start New Discussion
Tags Related to this Article