How to readlines() from urllib

后端 未结 2 1046
北恋
北恋 2021-01-07 11:31

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

相关标签:
2条回答
  • 2021-01-07 12:17

    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)
    
    0 讨论(0)
  • 2021-01-07 12:31

    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.

    0 讨论(0)
提交回复
热议问题