Cum se utilizează API-urile Web restrâns în Python

Acest tutorial vă va prezenta API-urile web și vă va învăța cum să utilizați librăria Python pentru a prelua și actualiza informațiile din API-urile Web. De asemenea, veți afla cum să interacționați cu API-ul Twitter ca exemplu de lucru.

Introducere în API-urile Web

Un API (Application Programming Interface) este un cadru pentru construirea de servicii HTTP care pot fi consumate de o mare varietate de clienți. Aplicațiile web API folosesc protocolul HTTP pentru a gestiona cererile între client și serverul web.

Unele dintre cele mai comune API-uri care permit dezvoltatorilor să integreze și să utilizeze infrastructura lor includ:

  1. Google API-uri
  2. Twitter API
  3. Amazon API
  4. Facebook API

Unul dintre motivele cele mai importante pentru utilizarea unui API, spre deosebire de alte surse de date statice, este că este timpul real. De exemplu, API-ul Twitter pe care îl vom folosi va aduce date în timp real din rețeaua socială.

Un alt avantaj este că datele continuă să se schimbe, așadar dacă l-ați descărca la intervale, ar fi nevoie de timp.

Utilizând Biblioteca cererilor

Pentru a utiliza un API, va trebui să instalați biblioteca de cereri Python. Cererile reprezintă o bibliotecă HTTP în Python, care vă permite să trimiteți cereri HTTP în Python.

Instalați solicitări

În terminalul dvs., tastați:

cerințele de instalare pentru pip

Pentru a verifica dacă instalarea a reușit, lansați următoarea comandă în interpretul dvs. Python sau în terminal:

cererile de import

Dacă nu există erori, instalarea a avut succes.

Cum puteți obține informații dintr-un API Web

Metoda GET este utilizată pentru a obține informații de la un server web. Să vedem cum să facem o cerere GET pentru a obține cronologia publică a lui GitHub.

Utilizăm variabila req pentru a stoca răspunsul de la cererea noastră.

cererile de import req = requests.get ('https://github.com/timeline.json')

Acum, când am făcut o solicitare în linia de timp GitHub, să obținem codificarea și conținutul conținut în răspuns.

cererile de import req = requests.get ('https://github.com/timeline.json') req.text u '"message": "Buna ziua, u2019t vedea blog-ul nostru post un cuplu de ani înapoi anunță că acest API-ar dispărea: http://git.io/17AROg Nu te teme, ar trebui să poată obține ceea ce ai nevoie de la noul API evenimente lucios "," documentation_url ":" https://developer.github.com/v3/activity/events/#list-public-events "
cereri de import req = requests.get ('https://github.com/timeline.json') req.encoding 'utf-8'

Solicitările au o decodare JSON încorporată pe care o puteți utiliza pentru a obține răspunsul unei solicitări în format JSON.

import cereri de import json req = requests.get ('https://github.com/timeline.json') req.json () u'documentation_url ': u'https: //developer.github.com/v3/activitate / events / # list-public-events ', u'message': u'Hello acolo, străin de drum. Dacă ați citit acest lucru, atunci probabil că nu ați văzut postarea pe blogul nostru cu câțiva ani în urmă anunțând că acest API va dispărea: http://git.io/17AROg Nu vă temeți, ar trebui să puteți obține ceea ce aveți nevoie de la noul API Events shiny. "

Cum se creează și se actualizează informații pe API Web

Metodele POST și PUT sunt utilizate pentru crearea și actualizarea datelor. În ciuda asemănărilor, este important să rețineți că folosirea unei cereri POST pentru actualizarea datelor va duce la două intrări în magazinul de date dacă vor fi prezentate două elemente identice.

Creați date (solicitare POST):

r = requests.post ('http://127.0.0.1/api/v1/add_item', data = 'task': 'Cumpărături')

Actualizare date (cerere PUT):

r = requests.put ('http://127.0.0.1/api/v1/add_item', data = 'task': 'Cumpără la 2'))

Lucrul cu API-ul Twitter REST

În această secțiune, veți învăța cum să obțineți acreditările API-ului Twitter, să vă autentificați în API-ul Twitter și să interacționați cu API-ul Twitter folosind Python. 

Veți putea, de asemenea, să preluați informații din conturile Twitter publice, cum ar fi tweet-urile, adepții etc..

Autentificarea cu Twitter

Trebuie să ne autentificăm cu API-ul Twitter înainte de a putea interacționa cu acesta. Pentru aceasta, urmați pașii următori:

  1. Accesați pagina Aplicații Twitter.
  2. Click pe Creați aplicația nouă (trebuie să fiți conectat (ă) la Twitter pentru a accesa această pagină). Dacă nu aveți un cont Twitter, creați unul.

3. Creați un nume și o descriere pentru aplicația dvs. și un substituent pentru site-ul Web.

4. Localizați Taste și chei de acces Tokens și să creați tokenul de acces.

5. Trebuie să țineți cont de Jeton de acces și Accesați secretul Token deoarece veți avea nevoie de ele pentru procesul de autentificare.

6. De asemenea, trebuie să luați notă de Cheia de consum și Secretul consumatorilor.

Există câteva biblioteci pe care le putem utiliza pentru a accesa API-ul Twitter, dar vom folosi biblioteca python-twitter în acest tutorial.

Instalați Python-twitter

Pentru a instala python-twitter, folosiți:

$ pip instalează python-twitter 

API - ul Twitter este expus prin twitter.Api clasa, așa că să creăm clasa trecând cheile și cheile noastre secrete:

import twitter api = twitter.Api (consumer_key = [cheie de consum], consumer_secret = [secret de consum], access_token_key = [access token], access_token_secret = [access token secret])

Înlocuiți-vă acreditările de mai sus și asigurați-vă că sunt închise în citate, adică consumer_key = "xxxxxxxxxx", ...)

Interogarea Twitter

Există multe metode de a interacționa cu API-ul Twitter, inclusiv:

>>> api.PostUpdates (status) >>> api.PostDirectMessage (utilizator, text) >>> api.GetUser (utilizator) >>> api.GetReplies () >>> api.GetUserTimeline >>> api .GetHomeTimeline () >>> api.GetStatus (stare_id) >>> api.DestroyStatus (status_id) >>> api.GetFriends (utilizator) >>> api.GetFollowers ()

Pentru a obține date de pe Twitter, vom face un apel API cu ajutorul api obiect pe care l-am creat mai sus.

Vom face următoarele:

  1. Creeaza o utilizator variabile și setați-l egal cu un mâner Twitter valid (nume de utilizator).
  2. Suna GetUserTimeline () metoda pe api obiect și să treacă în următoarele argumente.

  • un mâner Twitter valid
  • numărul de tweeturi pe care doriți să le recuperați (numara)
  • un steag pentru a exclude retweets (acest lucru se face folosind include_rts = false)

Să luăm ultimele tweet-uri din linia de timp Envato Tuts +, cu excepția retweeturilor.

import twitter api = twitter.Api (consumer_key = "xxxxxxxxxxxx", user_secret = "xxxxxxxxxxxxxx", acces_token_key = "314746354-xxxxx", acces_token_secret = "xxxxxx") user = "@TutsPlusCode" statuses = api.GetUserTimeline (screen_name = count = 30, include_rts = False) pentru s în stadii: print s.text 

GetUserTimeline () metoda va returna o listă cu cele mai recente 30 de tweet-uri, așa că am bucle prin listă și tipărit cele mai importante informații (conținut) din fiecare tweet.

Iată 6 lucruri care fac Fire-ul cel mai bun manager de pachete #JavaScript în jur. https://t.co/N4vzIJmSJi Aflați mai multe despre schema de bare cu partea a 3-a din această serie despre crearea de diagrame interactive utilizând Plotly.js. https://t.co/lyKMxSsicJ Vezi ce este nou cu suportul Git în Xcode 9. https://t.co/7gGu0PV1rV Iată cum puteți crea semnături digitale cu Swift. https://t.co/kCYYjShJkW În acest sfat rapid, descoperiți cum să utilizați Atom ca GUI Git. https://t.co/8rfQyo42xM Uitați-vă la aceste 12 pluginuri WordPress utile pentru aspectul paginilor. https://t.co/T57QUjEpu5 Aflați mai multe despre diagramele din partea a doua a seriei noastre privind crearea de diagrame interactive utilizând Plotly.js. https://t.co/nx51wOzSkF Prindeți niște mari freebies cu oferta noastră specială de aniversare, https://t.co/AcIGTiC2re În această serie din seria noastră despre codarea unei aplicații în timp real cu notificări NativeScript: Push. https://t.co/qESFVGVF4L Începeți cu testarea end-to-end în Angular folosind Protractor. https://t.co/TWhQZe7ihE Aflați cum să creați un API de rezolvat cu Node, Express și MongoDB. https://t.co/R4DvRYiM90 Care este durata de viață a activității Android? https://t.co/VUHsucaC1X Aflați totul despre programarea orientată pe obiecte cu JavaScript. https://t.co/bI7ypANOx3 Distrează-te cu funcții în această ultimă serie din Kotlin. https://t.co/r2f2TzA5lM Iată cum puteți face robust codul dvs. JavaScript cu Flow. https://t.co/rcdjybKL8L Creați propriul API de rezolvat cu Nod și Resimțiți. https://t.co/gQeTSZ6C5k Iată cum puteți pune controlerele de vedere pe o dietă cu MVVM. https://t.co/oJqNungt1O Aflați cum să trimiteți noua aplicație iOS la App Store. https://t.co/JQwsKovcaI Acest ghid este locul perfect pentru a vă construi abilitățile și a începe să scrieți pluginuri în Go. https://t.co/68X5lLSNHp Uitați-vă la modul de testare a componentelor în Angular utilizând Jasmine. https://t.co/V5OTNZgDkR Învață să construiești primul plugin #WordPress în acest curs nou minunat. https://t.co/695C6U6D7V În cele mai recente versiuni ale seriei noastre de componente arhitecturale Android: LiveData. https://t.co/gleDFbqeAi Adaptați adânc în sistemul de tip Go. https://t.co/AUM7ZyanRO Uitați-vă la logica serverless cu funcții realm. https://t.co/aYhfeMgAZc Partea 4 a cursului de reacție pentru începători este în afara! https://t.co/aG5NEa6yG9 Aflați mai multe despre conectarea socială și Firebase în această nouă adăugare la serie. https://t.co/oL5z0krQD3 Crearea unei aplicații de blogging folosind Reactul 6 este dezactivată! Etichete https://t.co/OzUaPQEX8E Ce este GenServer și de ce ar trebui să vă pese? https://t.co/EmQeTBggUK Consultați partea a treia a cursului React crash pentru seriile de începători. https://t.co/dflLCUqncO Aflați mai multe despre pachetele și funcțiile de bază din această serie adăugată la seria noastră de la Kotlin. https://t.co/JAo2ckSgZS 

Pentru a prelua urmașii, folosim GetFriends () metodă.

twitter import api = twitter.Api (consumer_key = "ftFL8G4yzQXUVzbUCdxGwKSjJ", consumer_secret = "KxGwBe6GlgSYyC7PioIVuZ5tFAsZs7q1rseEYCOnTDIjulT0mZ", access_token_key = "314746354-Ucq36TRDnfGAxpOVtnK1qZxMfRKzFHFhyRqzNpTx", access_token_secret = "7wZ1qHS0qycy0aNjoMDpKhcfzuLm6uAbhB2LilxZzST8w") user = "@TutsPlusCode" prieteni = api.GetFriends (SCREEN_NAME = user) pentru prieten în prieteni: print friend.name

producție

Derek Herman Cyan Ta'eed Dropbox Stoyan Stefanov Javier Ninja Dan Wellman Brenley Dueck Dave Ward Packt Karl Swedberg Envato Tuts + Web Dev_Tips Vahid Ta'eed Jarel Remick Envato Dev. Echipa 🖥 Drew Douglass 📈 Cameron Moll SitePoint Ioan Resig Skellie Chris Coyier Envato Tuts + Envato Tuts + Design Collis

Concluzie

API-ul Twitter poate fi utilizat într-o mare măsură în analiza datelor. Poate fi folosit și în probleme de date complexe mari și în autentificarea aplicațiilor. Citiți mai multe despre API-ul Twitter pe site-ul dezvoltatorilor Twitter.

.

Cod