We're a community of 1076K IT Pros here for help, advice, solutions, professional growth and fun. Join us!
1,075,687 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Start New Discussion Reply to this Discussion

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:
# 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!

3
Contributors
3
Replies
21 Hours
Discussion Span
3 Months Ago
Last Updated
6
Views
Question
Answered
donkatsu
Newbie Poster
2 posts since Feb 2013
Reputation Points: 0
Solved Threads: 0
Skill Endorsements: 0

So, what is your error message?

Lardmeister
Posting Virtuoso
1,938 posts since Mar 2007
Reputation Points: 465
Solved Threads: 72
Skill Endorsements: 5

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

ZZucker
Master Poster
780 posts since Jan 2008
Reputation Points: 342
Solved Threads: 60
Skill Endorsements: 1

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.

donkatsu
Newbie Poster
2 posts since Feb 2013
Reputation Points: 0
Solved Threads: 0
Skill Endorsements: 0
Question Answered as of 3 Months Ago by Lardmeister and ZZucker

This question has already been solved: Start a new discussion instead

Post: Markdown Syntax: Formatting Help
 
You
 
© 2013 DaniWeb® LLC
Page rendered in 0.1083 seconds using 2.69MB