Skip to content

Commit bde4228

Browse files
authored
Merge pull request #190 from qasema/addfile
Addfile
2 parents 38e4830 + 9c32a3a commit bde4228

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
.. Copyright (C) Brad Miller, David Ranum, Jeffrey Elkner, Peter Wentworth, Allen B. Downey, Chris
2+
Meyers, and Dario Mitchell. Permission is granted to copy, distribute
3+
and/or modify this document under the terms of the GNU Free Documentation
4+
License, Version 1.3 or any later version published by the Free Software
5+
Foundation; with Invariant Sections being Forward, Prefaces, and
6+
Contributor List, no Front-Cover Texts, and no Back-Cover Texts. A copy of
7+
the license is included in the section entitled "GNU Free Documentation
8+
License".
9+
10+
.. qnum::
11+
:prefix: file-1-
12+
:start: 1
13+
14+
Fetching Something From The Web
15+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16+
17+
The Python libraries are pretty messy in places. But here is a very simple example that copies
18+
the contents at some web URL to a local file. We will need to get a few things right before this works:
19+
20+
* The resource we’re trying to fetch must exist! Check this using a browser.
21+
* We’ll need permission to write to the destination filename, and the file will be created in the “current directory” - i.e. the same folder that the Python program is saved in.
22+
* If we are behind a proxy server that requires authentication, (as some students are), this may require some more special handling to work around our proxy. Use a local resource for the purpose of this demonstration!
23+
24+
We will try to retrieve the content of the HTML of this page as in the following code.
25+
26+
27+
.. activecode:: ch11_1
28+
29+
import urllib.request
30+
31+
def retrieve_page(url):
32+
""" Retrieve the contents of a web page.
33+
"""
34+
my_socket = urllib.request.urlopen(url)
35+
dta = my_socket.read()
36+
return dta
37+
38+
the_text = retrieve_page("https://runestone.academy/runestone/books/published/thinkcspy/Files/FetchingSomethingFromTheWeb.html")
39+
print(the_text)
40+
41+
42+
43+

0 commit comments

Comments
 (0)