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:
# https://developers.google.com/maps/documentation/geocoding/
# Can use either json or xml output format.
def get_zipcode(address):
  zipcode = ''
  url_values = urllib.urlencode(address)
  url="http://maps.googleapis.com/maps/api/geocode/json?address=%s&sensor=false" % 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!

Recommended Answers

All 3 Replies

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 = "http://rss.weather.com/weather/rss/local/"
  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 http://rss.weather.com/weather/rss/local/92802) 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[
http://www.weather.com/weather/local/92802?cm_pla=city_page&cm_ite=cc&site=city_page&cm_ven=LWO&cm_cat=&par=LWO_
]]>
</link>

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.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.