Internet-Related Activities
The Internet is a treasure trove of information, but its exponential growth can make it hard to manage. Furthermore, most tools currently available for “surfing the Web” are not programmable. Many web-related tasks can be automated quite simply with the tools in the standard Python distribution.
Downloading a Web Page Programmatically
If you’re interested in finding out what the weather in a given location is over a period of months, it’s much easier to set up an automated program to get the information and collect it in a file than to have to remember to do it by hand.
Here is a program that finds the weather in a couple of cities and states using the pages of the weather.com web site:
import urllib, urlparse, string, time
def get_temperature(country, state, city):
url = urlparse.urljoin('http://www.weather.com/weather/cities/',
string.lower(country)+'_' + \
string.lower(state) + '_' + \
string.replace(string.lower(city), ' ',
'_') + '.html')
data = urllib.urlopen(url).read()
start = string.index(data, 'current temp: ') + len('current temp: ')
stop = string.index(data, '°F', start-1)
temp = int(data[start:stop])
localtime = time.asctime(time.localtime(time.time()))
print ("On %(localtime)s, the temperature in %(city)s, " +\
"%(state)s %(country)s is %(temp)s F.") % vars()
get_temperature('FR', '', 'Paris')
get_temperature('US', 'RI', 'Providence')
get_temperature('US', 'CA', 'San Francisco')When run, it produces output like:
~/book:> python get_temperature.py ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access