Python: HTTP GET e POST com urllib

Palavras-chave: Python, internet, http, urllib, urlopen, urlencode

O módulo urllib lhe fornece meios de acessar servidores HTTP por meios de requests GET e POST de maneira direta:

  • Acessando o conteúdo da http://codare.aurelio.net:
    import urllib
    
    f = urllib.urlopen("http://codare.aurelio.net")
    contents = f.read()
    f.close()
    print contents
    
  • Submetendo parâmetros (query) usando GET:
    import urllib
    
    params = {"documentation": 1, "forums": 1}
    query = urllib.urlencode(params)
    url = "http://wordpress.org/search/codare?%s" % query
    f = urllib.urlopen(url)
    contents = f.read()
    f.close()
    print contents
    
  • Submetendo parâmetros usando POST:
    import urllib
    
    params = {"keyword": "urllib"}
    query = urllib.urlencode(params)
    url = "http://starship.python.net/crew/theller/pyhelp.cgi"
    f = urllib.urlopen(url, query)
    contents = f.read()
    f.close()
    print contents
    

Com a página em mãos, você pode utilizar expressões regulares ou algum módulo específico para processar Sgml/HTML/XML para obter seus dados.

This entry was posted in Python. Bookmark the permalink.

6 Responses to Python: HTTP GET e POST com urllib

  1. Walter Cruz says:

    Taí uma pergunta frequente na pythonbrasil…

  2. Fazendo os botters felizes!

  3. Bragercibra says:

    Sounds like a very interesting concept! Sometimes I can’t help but make a move with my adventures disability Wanna good joke? How do you keep a bagel from getting away? Put lox on it!

  4. will says:

    galera nem funcionou esse post! mesma coisa que carregar uma pagina sem passar parametros me ajude ae :D

  5. Cara, muito bom o artigo.
    Explicação bem prática.
    Gostei.

    Estou lendo um livro de programação
    em Python, mas o exemplo que eles
    citaram usando o urllib estão incorreto
    (ou desatualizado, melhor dizendo).
    Sou novo no Python, e pelo que estou
    percebendo, alguns aspectos da linguagem
    está em constante mudança.

    []’s
    B0b0

Comments are closed.