Za pomocą tego można pobrać linię czasu użytkownika:
import pandas as pd
from stackapi import StackAPI
SITE = StackAPI('stackoverflow', key="please_add_your_key_here")
post = SITE.fetch('users/{ids}/timeline', ids=[5620], max_pages=10000000, page_size=100)
Widzę, że jest tylko 500 pozycji, ale spodziewam się, że będzie ich więcej.
Jak można pobrać wszystkie elementy do jednego wywołania interfejsu API?
1 odpowiedź
W jednym nie, ponieważ spowoduje to dodatkowe obciążenie bazy danych i zaplecza usługi. Możesz użyć paginacji, aby wyodrębnić wszystkie wymagane dane pozostawione w kursorze.
https://api.stackexchange.com/docs/paging
post = SITE.fetch('users/{ids}/timeline', ids=[5620], has_more = 1, max_pages=10000000, page_size=100)
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.
offset
, więc możesz wyciągnąć 500 na raz, a następnie przesunąć je o 500 i wyciągnąć kolejne 500 itd. itd. Zalecam przeczytanie dokumentacji na temat tego interfejsu API, aby zobaczyć, jak to działa. Niektóre interfejsy API pozwalają tylko pobrać 500 najnowszych rekordów