I have program using http and I want to read data from http:
data = urllib.request.urlopen(someAddress).read()
And prepare from it list of lines like returning lines by readlines() method for file.
How to do it?
I have program using http and I want to read data from http:
data = urllib.request.urlopen(someAddress).read()
And prepare from it list of lines like returning lines by readlines() method for file.
How to do it?
urlopen()
returns an object that acts just like a file, and supports .readlines()
:
response = urllib.request.urlopen(someAddress)
lines = response.readlines():
It also supports iteration:
response = urllib.request.urlopen(someAddress)
for line in response:
You already called .read()
on the response object; you could also just call str.splitlines()
on that:
lines = data.splitlines(True)
where True
tells str.splitlines()
to preserve line endings.
I usually do something like. I use urllib2, but it shouldn't be so different:
from urllib2 import Request, urlopen
def getPage(link, splitting = '\n'):
request = Request(link)
try:
response = urlopen(request)
except IOError:
return -1
else:
the_page = response.read()
return the_page.split(splitting)