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 ...
Get Learning Python now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.