0% found this document useful (0 votes)
42 views3 pages

Accessing Internet Data

The document discusses three Python modules: 1) The Urllib module allows fetching URLs using various protocols and provides HTTPResponse objects to access status codes and response data. 2) The json module allows parsing JSON strings into Python objects and vice versa. It can load, dump, and transform between JSON and Python data types. 3) An example shows using urllib to fetch earthquake data from a URL and json to parse it, then extracting and printing specific data fields like titles, counts, locations and magnitudes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views3 pages

Accessing Internet Data

The document discusses three Python modules: 1) The Urllib module allows fetching URLs using various protocols and provides HTTPResponse objects to access status codes and response data. 2) The json module allows parsing JSON strings into Python objects and vice versa. It can load, dump, and transform between JSON and Python data types. 3) An example shows using urllib to fetch earthquake data from a URL and json to parse it, then extracting and printing specific data fields like titles, counts, locations and magnitudes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Accessing Internet Data

Python Urllib Module

Urllib package is the URL handling module for python. It is used to fetch URLs (Uniform Resource
Locators). It uses the urlopen function and is able to fetch URLs using a variety of different protocols.

HTTPResponse Objects

status HTTP status code result such as 200 or 404


read read the data from the result

Example:

import urllib
def main():
webUrl = [Link]("[Link]
print ("result code: " + str([Link]()))
data = [Link]()
print (data)
main()

Working with JSON


JSON (JavaScript Object Notation)is an open standard file format and data interchange format that uses
human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays.

Python has a built-in package called json, which can be used to work with JSON data. If you have a
JSON string, you can parse it by using the [Link]() method.

Example:

import json
def main():
jsonStr = '''{
"sandwich" : "Reuben",
"toasted" : true,
"toppings" : [
"Thousand Island Dressing",
"Sauerkraut",
"Pickles"
],
"price" : 8.99
}'''
data = [Link](jsonStr)
print("Sandwich: " + data['sandwich'])
if (data['toasted']):
print("And it's toasted!")
for topping in data['toppings']:
print("Topping: " + topping)
main()

Earthquake Data App

import urllib
import json
def printResults(data):
# Use the json module to load the string data into a dictionary
theJSON = [Link](data)

# now we can access the contents of the JSON like any other Python object
if "title" in theJSON["metadata"]:
print(theJSON["metadata"]["title"])

# output the number of events, plus the magnitude and each event name
count = theJSON["metadata"]["count"]
print(str(count) + " events recorded")

# for each event, print the place where it occurred


for i in theJSON["features"]:
print(i["properties"]["place"])
print("--------------\n")

# print the events that only have a magnitude greater than 4


for i in theJSON["features"]:
if i["properties"]["mag"] >= 4.0:
print("%2.1f" % i["properties"]["mag"], i["properties"]["place"])
print("--------------\n")

# print only the events where at least 1 person reported feeling something
print("\n\nEvents that were felt:")
for i in theJSON["features"]:
feltReports = i["properties"]["felt"]
if (feltReports != None):
if (feltReports > 0):
print("%2.1f" % i["properties"]["mag"], i["properties"]
["place"], " reported " + str(feltReports) + " times")
def main():
urlData = "[Link]
webUrl = [Link](urlData)
print("result code: " + str([Link]()))
if ([Link]() == 200):
data = [Link]().decode("utf-8")
printResults(data)
else:
print("Received an error from server, cannot retrieve results " +
str([Link]()))
main()

You might also like