Comprendre la pagination avec l'API NewsDataHub
Ce guide explique comment paginer les résultats lors de l'utilisation de l'API NewsDataHub.
L'API NewsDataHub est un service qui fournit des données d'actualité via une interface API RESTful. Il implémente une pagination basée sur un curseur pour gérer efficacement de grands ensembles de données, permettant aux développeurs de récupérer des articles d'actualité par lots gérables. Chaque réponse comprend un ensemble d'articles où chaque objet d'article contient des détails tels que le titre, la description, la date de publication, la source, le contenu, les mots-clés, les sujets et l'analyse des sentiments. L'API utilise un paramètre de curseur pour une navigation transparente dans les résultats et fournit une documentation complète sur les fonctionnalités avancées telles que les paramètres de recherche et les options de filtrage.
Pour la documentation, visitez : https://newsdatahub.com/docs
Les API renvoient généralement une quantité limitée de données dans leurs réponses, car renvoyer tous les résultats en une seule requête n'est généralement pas pratique. Au lieu de cela, ils utilisent la pagination, une technique qui divise les données en pages ou en lots distincts. Cela permet aux clients de récupérer une page à la fois, accédant ainsi à un sous-ensemble gérable des résultats.
Lorsque vous effectuez une demande initiale au point de terminaison /news et recevez le premier lot de résultats, la forme de la réponse ressemble à ceci :
{ "next_cursor": "VW93MzoqpzM0MzgzMQpqwDAwMDQ5LjA6MzA0NTM0Mjk1T0xHag==", "total_results": 910310, "per_page": 10, "data": [ { "id": "4927167e-93f3-45d2-9c53-f1b8cdf2888f", "title": "Jail time for wage theft: New laws start January", "source_title": "Dynamic Business", "source_link": "https://dynamicbusiness.com", "article_link": "https://dynamicbusiness.com/topics/news/jail-time-for-wage-theft-new-laws-start-january.html", "keywords": [ "wage theft", "criminalisation of wage theft", "Australian businesses", "payroll errors", "underpayment laws" ], "topics": [ "law", "employment", "economy" ], "description": "Starting January 2025, deliberate wage theft will come with serious consequences for employers in Australia.", "pub_date": "2024-12-17T07:15:00", "creator": null, "content": "The criminalisation of wage theft from January 2025 will be a wake-up call for all Australian businesses. While deliberate underpayment has rightly drawn scrutiny, our research reveals that accidental payroll errors are alarmingly common, affecting nearly 60% of companies in the past two years. Matt Loop, VP and Head of Asia at Rippling Starting January 1, 2025, Australias workplace compliance landscape will change dramatically. Employers who deliberately underpay employees could face fines as high as AU. 25 million or up to 10 years in prison under new amendments to the Fair Work Act 2009 likely. Employers must act decisively to ensure compliance, as ignorance or unintentional errors wont shield them from civil or criminal consequences. Matt Loop, VP and Head of Asia at Rippling, says: The criminalisation of wage theft from January 2025 will be a wake-up call for all Australian businesses. While deliberate underpayment has rightly drawn scrutiny, our research reveals that accidental payroll errors are alarmingly common, affecting nearly 60% of companies in the past two years. Adding to the challenge, many SMEs still rely on fragmented, siloed systems to manage payroll. This not only complicates operations but significantly increases the risk of errors heightening the potential for non-compliance under the new laws. The urgency for businesses to modernise their approach cannot be overstated. Technology offers a practical solution, helping to streamline and automate processes, reduce human error, and ensure compliance. But this is about more than just avoiding penalties. Accurate and timely pay builds trust with employees, strengthens workplace morale, and fosters accountability. The message is clear: wage theft isnt just a financial risk anymoreits a criminal offense. Now is the time to ensure your business complies with Australias new workplace laws. Keep up to date with our stories on LinkedIn, Twitter, Facebook and Instagram.", "media_url": "https://backend.dynamicbusiness.com/wp-content/uploads/2024/12/db-3-4.jpg", "media_type": "image/jpeg", "media_description": null, "media_credit": null, "media_thumbnail": null, "language": "en", "sentiment": { "pos": 0.083, "neg": 0.12, "neu": 0.796 } }, // more article objects ] }
Remarquez la première propriété dans la réponse JSON - next_cursor. La valeur dans next_cursor pointe vers le début de la page de résultats suivante. Lors de la requête suivante, vous spécifiez le paramètre de requête du curseur comme ceci :
https://api.newsdatahub.com/v1/news?cursor=VW93MzoqpzM0MzgzMQpqwDAwMDQ5LjA6MzA0NTM0Mjk1T0xHag==
Le moyen le plus simple d'essayer de paginer les résultats est d'utiliser Postman ou un outil similaire. Voici une courte vidéo montrant comment utiliser la valeur du curseur pour paginer les résultats dans Postman.
https://youtu.be/G7kkTwCPtCE
Lorsque la valeur next_cursor est nulle, cela indique que vous avez atteint la fin des résultats disponibles pour vos critères sélectionnés.
Pagination des résultats avec Python
Voici comment configurer la pagination de base via les résultats de l'API NewsDataHub à l'aide de Python.
import requests # Make sure to keep your API keys secure # Use environment variables instead of hardcoding API_KEY = 'your_api_key' BASE_URL = 'https://api.newsdatahub.com/v1/news' headers = { 'X-Api-Key': API_KEY, 'Accept': 'application/json', 'User-Agent': 'Mozilla/5.0 Chrome/83.0.4103.97 Safari/537.36' } params = {} cursor = None # Limit to 5 pages to avoid rate limiting while demonstrating pagination for _ in range(5): params['cursor'] = cursor try: response = requests.get(BASE_URL, headers=headers, params=params) response.raise_for_status() data = response.json() except (requests.HTTPError, ValueError) as e: print(f"There was an error when making the request: {e}") continue cursor = data.get('next_cursor') for article in data.get('data', []): print(article['title']) if cursor is None: print("No more results") break
Pagination basée sur un index
Certaines API utilisent une pagination basée sur un index pour diviser les résultats en morceaux discrets. Avec cette approche, les API renvoient une page de données spécifique, semblable à la table des matières d'un livre, où chaque numéro de page pointe vers une section spécifique.
Bien que la pagination basée sur un index soit plus simple à mettre en œuvre, elle présente plusieurs inconvénients. Il a du mal avec les mises à jour en temps réel, peut produire des résultats incohérents et exerce davantage de pression sur la base de données, car la récupération de chaque nouvelle page nécessite une analyse séquentielle des enregistrements précédents.
Nous avons couvert les principes fondamentaux de la pagination basée sur le curseur dans l'API NewsDataHub. Pour des fonctionnalités avancées telles que les paramètres de recherche et les options de filtrage, veuillez consulter la documentation complète de l'API sur https://newsdatahub.com/docs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Utilisation de Python dans Linux Terminal ...

Fastapi ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comprendre la stratégie anti-rampe d'investissement.com, Beaucoup de gens essaient souvent de ramper les données d'actualités sur Investing.com (https://cn.investing.com/news/latest-news) ...
