opening a url with urllib in python 3

后端 未结 5 650
我在风中等你
我在风中等你 2020-12-24 07:27

i\'m trying to open the URL of this API from the sunlight foundation and return the data from the page in json. this is the code Ive produced, minus the parenthesis around m

相关标签:
5条回答
  • 2020-12-24 07:42

    You need to use from urllib.request import urlopen, also I suggest you use the with statement while opening a connection.

    from urllib.request import urlopen
    
    with urlopen("https://sunlightlabs.github.io/congress/legislators?api_key='(myapikey)") as conn:
        # dosomething
    
    0 讨论(0)
  • 2020-12-24 07:43
    from urllib.request import urlopen
    from bs4 import BeautifulSoup
    
    wiki = "https://en.wikipedia.org/wiki/List_of_state_and_union_territory_capitals_in_India"
    
    page = urlopen(wiki)
    soup =  BeautifulSoup(page, "html.parser" ).encode('UTF-8')
    
    print (soup)
    
    0 讨论(0)
  • 2020-12-24 07:51

    The problem is with your module import. There are multiple ways to do that in Python3.x:

    from urllib.request import urlopen
    urlopen('example.com/***')
    

    or

    from urllib import request
    request.urlopen('example.com/***')
    

    or

    import urllib
    urllib.request.urlopen('example.com/***')
    

    Moreover, you can name the module you want to import as well:

    import urllib.request as req  ## or whatever you want
    req.urlopen('example.com/***')
    

    You can use the one you prefer, but watch the sequence of modules and packages you are using.

    0 讨论(0)
  • 2020-12-24 07:53

    urllib.request is a module whereas urlopen is a function. check out this link, it can help you clear your doubts. https://docs.python.org/3.0/library/urllib.request.html

    0 讨论(0)
  • 2020-12-24 08:04

    In Python 3 You can implement that this way:

    import urllib.request
    u = urllib.request.urlopen("xxxx")#The url you want to open
    

    Pay attention: Some IDE can import urllib(Spyder) directly, while some need to import urllib.request(PyCharm).

    That's because you sometimes need to explicitly import the pieces you want, so the module doesn't need to load everything up when you just want a small part of it.

    Hope this will help.

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