Essayer d'obtenir des données json à partir de l'URL à l'aide de Python
Je suis en apprentissage pour obtenir des données json à partir d'un lien et d'utiliser ces données plus tard. Mais j'obtiens l'erreur: "RuntimeError: le maximum de la profondeur de récursion dépassé, tout en appelant un objet Python"
Voici mon code:
import json
import requests
from bs4 import BeautifulSoup
url = "http://example.com/category/page=2&YII_CSRF_TOKEN=31eb0a5d28f4dde909d3233b5a0c23bd03348f69&more_products=true"
header = {'x-requested-with': 'XMLHttpRequest'}
mainPage = requests.get(url, headers = header)
xTree = BeautifulSoup(mainPage.content, "lxml")
newDictionary=json.loads(str(xTree))
print (newDictionary)
EDIT: Ok j'ai obtenu la réponse des données à partir de l'utilisation de ce léger changement, le nouveau code est ici:
import json
import requests
from bs4 import BeautifulSoup
url = "http://example.com/category/page=2&YII_CSRF_TOKEN=31eb0a5d28f4dde909d3233b5a0c23bd03348f69&more_products=true"
header = {'x-requested-with': 'XMLHttpRequest'}
mainPage = requests.get(url, headers = header
print (mainPage.json())
Vous devez vous connecter pour publier un commentaire.
N'utilisez pas belle soupe pour traiter un json de la réponse http. Utilisez quelque chose comme les demandes:
La belle soupe objet ne peut pas être analysé avec json.charges() de cette façon.
Si vous avez des données HTML dans certains de ces json touches, puis vous pouvez utiliser belle soupe pour analyser ces valeurs de chaîne individuellement. Si vous avez une clé appelée le contenu de votre json, contenant du code html, vous pouvez l'analyser comme suit:
Vous pouvez avoir besoin d'expérimenter avec différents analyseurs, si vous avez fragmentaires html.
L'exemple suivant est un exemple de l'utilisation des différentes données JSON qui a été chargé comme un objet avec
json.charges()
.Exemple de travail — Testé avec Python 2.6.9 et 2.7.10 et 3.3.5 et 3.5.0
Sortie