Vous n’avez pas toujours besoin d’utiliser l’interface de quelqu’un d’autre.
Ce n’est pas trop difficile de le faire via la bibliothèque requests intégrée, et si vous utilisez quelque chose (par exemple Postman, que j’ai déjà configuré), vous pouvez importer notre spécification d’API dedans et ensuite lui demander de générer du code :
et ensuite l’adapter à vos besoins :
import json
import pandas
import requests
url = "https://try.discourse.org/categories.json?include_subcategories=false"
payload = {}
headers = {
'Accept': 'application/json'
}
response = requests.request("GET", url, headers=headers, data=payload)
response_data = json.loads(response.text)
data = pandas.DataFrame(response_data['category_list']['categories']).set_index('id')
maintenant j’ai les informations de catégorie :
name color text_color ... uploaded_background_dark topics can_vote
id ...
5 general 25AAE2 FFFFFF ... None [{'fancy_title': 'Testing dulu ya jangan di hi... NaN
4 videos 258af1 FFFFFF ... None [{'fancy_title': 'Ikan ganteng yang\u0026rsquo;\u0026rdq... NaN
86 calendar 12A89D FFFFFF ... None [{'fancy_title': 'Category Calendar demo topic... NaN
2 tech 444 FFFFFF ... None [{'fancy_title': 'Poll: What\u0026rsquo;s your pref... NaN
1 discourse 00B355 FFFFFF ... None [{'fancy_title': 'Welcome to our demo!', 'id':... NaN
53 Topic Voting F7941D FFFFFF ... None [{'fancy_title': 'Is this topic worth voting f... True
6 gaming 800080 FFFFFF ... None [{'fancy_title': 'Impressions Games City Build... NaN
8 movies B22222 FFFFFF ... None [{'fancy_title': 'What\u0026rsquo;s your all-time f... NaN
9 sports 0000FF FFFFFF ... None [{'fancy_title': 'Modernizing the antiquated b... NaN
[9 rows x 45 columns]
Si vous souhaitez accéder à des informations protégées, vous voudrez utiliser une clé API.
