Welkom terug.
Het is tijd om iets goeds, echt productiefs, te doen met ons Twitter-bord.
Dus wat kunnen we hier doen?
Nou, ik wil een bord maken, dit bord komt goed, je wilt heel aardig zijn voor je volgers
en je wilt mensen terugvolgen.
Als je echt kijkt, ik ben behoorlijk afschuwelijk.
Ik heb maar zes mensen die ik volg.
Maar als ik al mijn volgers zou moeten doorlopen en ze allemaal zou moeten volgen, dan zijn dat meer dan
10000 klikken.
Dat is een behoorlijk handmatige taak.
Kunnen we dat doen met onze bot?
Nou ja, dat kan.
Dus laten we een super genereuze bot maken, zodat deze genereuze bot altijd terug gaat volgen, hoe kunnen we dit
bouwen?
Nou, we lopen gewoon door en zeggen voor volger.
In en dan hier, t. P geeft ons iets dat een curser wordt genoemd.
Wat is deze vloek nu?
Als we naar de documentatie hier gaan en ik typ Curser.
We krijgen, nou ja, een echt curserverhaal als we hier lezen, we zien dat we paginering in veel
Twitter-API's gebruiken.
Dus of we nu door tijdlijnen of gebruikerslijsten of berichten gaan, we moeten door verschillende pagina's
klikken.
Rechts.
Meestal zijn er veel volgers of veel tijdlijninformatie.
Dus de cursor stelt ons in staat om, in wezen op een gemakkelijke manier, alles op Twitter te doorlopen, of het nu door
een hele tijdlijn is of door een hele lijst met volgers, en ze geven je zelfs een mooie tutorial over hoe
je het moet gebruiken.
Je kunt hier bijvoorbeeld zien, laten we dit een beetje groter maken.
We zien dat we die tweetcursor kunnen gebruiken om API te doen, onze tijdlijnitems gebruiken om alle items op de tijdlijn te
pakken.
Dus met de TWIP-cursor kunnen we eigenlijk API-punt doen.
Volgers om alle volgers te pakken en dan doen we gewoon puntitems.
Zodat we nu alle volgers kunnen doorlopen met deze volgers.
Nou, laten we ze gewoon uitprinten.
Nu ga ik in dit geval volgers of een volger afdrukken, omdat we hier doorlopen en dan
gewoon puntnaam zeggen.
Het probleem hier is dat wanneer we zoiets als dit doen, laten we zeggen dat
we een heleboel dingen doornemen, we de API keer op keer zullen raken.
En dat gaat Twitter niet leuk vinden.
Ik bedoel, dit is een eenvoudig voorbeeld, maar als we constant de Twitter-API raken die de Twitter-servers raakt, waarvoor
Twitter moet betalen, en als iedereen in de wereld de Twitter-API keer op keer snel raakt met, laten
we zeggen , Python, dat zoals we weten op machines erg snel werkt, nou ja, het gaat
de servers overbelasten en het gaat ze veel geld kosten of de servers laten crashen.
Dus implementeren ze eigenlijk iets dat een snelheidslimiet wordt genoemd, waarbij ik alleen de Twitter API mag
aanvragen, laten we zeggen om de paar milliseconden, zodat de server niet crasht.
En Twitter stelt ons eigenlijk in staat om met deze geweldige Twitter-limiet te werken.
Dus als ik hier typ, rate limiter.
Er is eigenlijk een lucht.
Je kunt hier de snelheidslimietfout zien, die wordt verhoogd wanneer de API-methode faalt vanwege het
bereiken van de Twitter-snelheidslimiet, hier zijn, stelt ons in staat om de snelheidslimietfout te gebruiken om te zeggen, hey, als we deze fout raken,
laten we iets doen.
Dus ik ga een kleine hulpfunctie maken, ik ga zeggen definiëren, beperken, afhandelen, dus we gaan
hier de limiet afhandelen en we gaan de cursor passeren, wat, nogmaals, de cursor die gepassioneerd
zal zijn of door de volledige gegevens-API-volgers gaat.
En we gaan een while-lus maken die zegt dat dit waar is.
Gewoon blijven toegeven.
vloeker.
Punt volgende.
Omdat Curser een generator is.
Echter, wanneer we volgend jaar blijven bellen, wat overigens intern dit is wat de cursor aan
het doen is, blijft maar doorgaan en blijft doorgaan totdat we onze volgers hebben
beëindigd.
Als dit niet het geval is.
Nou, in dat geval zeg ik, behalve.
En we gaan dit eigenlijk in een try-blok verpakken, dus ik ga zeggen probeer het hier zodat we
Jacir kunnen pakken, dus probeer het even.
Waar.
En dan behalve.
Als we daar een puntlimiet krijgen.
Welnu, in dat geval wil ik pauzeren en niet op de Twitter API drukken, zodat we niet in de problemen komen
en erop terugkomen als we het eindelijk wat tijd hebben gegeven.
Dus we kunnen dat echt doen met een ingebouwde module in Python genaamd tijd en tijd stelt ons in staat om hier iets heel nuttigs
te doen.
Ik kan iets doen dat slaap heet, wat in wezen zegt, hey, pauzeer dit, wat er ook gebeurt, blijf
gewoon een paar milliseconden op deze lijn.
Dus als we duizend doen, is dat wat, duizend milliseconden of één seconde.
Dus nu hebben we een limiethandle of we kunnen het een limiethandler noemen.
En als we de limiethandler, die een cursor ontvangt, inpakken, dus dat is dat we dit hele ding gewoon inpakken.
Zoals zo.
Laten we dit een beetje groter maken.
Daar ga je.
We kunnen nu geen misbruik maken en ervoor zorgen dat als we de weglimiet bereiken, we een beetje pauze nemen in plaats van
alleen maar erger te worden.
Dus eens kijken of dat werkte.
Ik ga sparen.
En voer ons stukje code uit, laten we het hier wissen en dit uitvoeren.
Goed, zie je hoe het nu pauzeert, dus zodra we de rode limiet bereiken, pauzeert het.
En het blijft maar doorgaan en daar ga je, het drukt alle volgers uit die ik heb.
Dat is best cool, toch?
Nu ga ik hier eigenlijk mee stoppen, want, nou ja, het is er nog steeds mee bezig.
Maar wat we nu kunnen doen, is dat we elk van deze individuele mensen kunnen volgen.
In mijn geval zit ik niet zo veel op Twitter.
Dus laten we hier gewoon willekeurig iemand volgen.
Laten we deze gebruiker hier volgen.
Ik ga de naam van deze gebruiker zo kopiëren, en ik ga hier iets leuks doen.
Ik ga zeggen als.
Volger puntnaam is gelijk aan deze persoon.
In dat geval wil ik deze persoon volgen.
Dus ik ga zeggen.
Volger punt.
Volgen, waarmee ik de gebruiker kan volgen.
Als ik dit opsla en mijn code uitvoer.
Het loopt, het loopt, het loopt, zoals ik al zei, het kost wat tijd omdat
het de hele lijst moet doorlopen, maar ik ga de video pauzeren.
En als dit klaar is, gaan we kijken of dit werkte.