Pegar o json que uma pagina web php retona em python

259 views
Skip to first unread message

César Manuel Malainho Oliveira

unread,
Apr 26, 2018, 8:17:19 AM4/26/18
to Python Brasil
Olá a todos, bom dia,

Eu estou a tentar criar uma aplicação para windows.
Preciso pegar apartir de uma url do tipo http://site.com/webservices/listagem.php o json que é retornado por essa pagina em python

Muito Obrigado

Cumprimentos
César Oliveira

Fabio C. Barrionuevo da Luz

unread,
Apr 26, 2018, 8:28:35 AM4/26/18
to python...@googlegroups.com
use a http://docs.python-requests.org/en/master/

instale a python-requests via pip:


python3 -m pip install requests




>>> import requests
>>> resposta = requests.get('
https://jsonplaceholder.typicode.com/posts')
>>> resposta_json = resposta.json()
>>> print(resposta_json)




--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasil+unsubscribe@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para python...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/54089404-a1f6-4b62-a150-314428f2892f%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Fábio C. Barrionuevo da Luz
Palmas - Tocantins - Brasil - América do Sul


Blog colaborativo sobre Python e tecnologias Relacionadas, mantido totalmente no https://github.com/pythonclub/pythonclub.github.io .

Todos são livres para publicar. É só fazer fork, escrever sua postagem e mandar o pull-request. Leia mais sobre como publicar em README.md e contributing.md.
Regra básica de postagem:
"Você" acha interessante? É útil para "você"? Pode ser utilizado com Python ou é útil para quem usa Python? Está esperando o que? Publica logo, que estou louco para ler...

César Manuel Malainho Oliveira

unread,
Apr 26, 2018, 11:16:24 AM4/26/18
to Python Brasil
Olá Fabio, boa tarde,

Muito obrigado pela ajuda

Usei aquele comando no cmd para instalar o request e disse que já estava instalado.

Olha, não consegui fazer o import como colocas-te

Só consegui assim:

from pip._vendor import requests

Também pode ser assim ?

Não consegui trazer o json

Eu o seguinte erro:

Traceback (most recent call last):
  File "D:/py/webservices/ex001.py", line 7, in <module>
    resposta_json = resposta.json()
  File "D:\py\webservices\venv\lib\site-packages\pip-9.0.1-py3.6.egg\pip\_vendor\requests\models.py", line 826, in json
    return complexjson.loads(self.text, **kwargs)
  File "D:\Anaconda3\lib\json\__init__.py", line 344, in loads
    s, 0)
json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)

O meu código ficou assim:

from pip._vendor import requests

url='http://www.tvatlantica.com/webservice/wslistavideosgeral.php';

resposta = requests.get(url)
resposta_json = resposta.json()
print(resposta_json)

Muito obrigado pela ajuda

Cumprimentos
César Oliveira

César Manuel Malainho Oliveira

unread,
Apr 27, 2018, 4:36:16 AM4/27/18
to Python Brasil
Olá a todos, bom dia,

Consegui resolver o problema:

Código final com o problema resolvido

from urllib.request import urlopen
import json

url = 'http://www.tvatlantica.com/webservice/wslistavideosgeral.php';

def get_jsonparsed_data(url):
response = urlopen(url)
data = response.read().decode("utf-8-sig")

return json.loads(data)

print(get_jsonparsed_data(url))

Contudo agora tenho outro problema:

Como passar um objeto json para a minha url ?

O meu php está à espera do seguinte:

$obj = json_decode($_POST['jsonObject']);
$idprograma=$obj->idprograma;

O que preciso fazer para o python passar esse objecto para o php ?

César Manuel Malainho Oliveira

unread,
Apr 27, 2018, 1:10:36 PM4/27/18
to Python Brasil
Olá, boa tarde,

Será que eu não expliquei bem a minha duvida.

Preciso resolver isso para continuar o desenvolvimento da aplicação

Obrigado

Cumprimentos
César Oliveira
Reply all
Reply to author
Forward
0 new messages