Working With APIs in Python - Pagination and Data Extraction

  Рет қаралды 103,549

John Watson Rooney

John Watson Rooney

Күн бұрын

Пікірлер: 135
@Kyosika
@Kyosika 3 жыл бұрын
Thanks for linking this video John!
@JohnWatsonRooney
@JohnWatsonRooney 3 жыл бұрын
No worries hope it helped you!
@Kyosika
@Kyosika 3 жыл бұрын
@@JohnWatsonRooney It sure does!
@francol.dejuana7862
@francol.dejuana7862 Жыл бұрын
Love you man, i saw like 10 videos about APIs request and data pull. All of them with over 1M viewers.. and they all just show how to code the request and not anything else, which is equal to nothing, what a waste of time. This video is simple, concrete, and right to the point. You surely deserve more viewers.
@davidcorona644
@davidcorona644 Ай бұрын
I totally get what you mean. It's like most videos are like we're going to learn the order of operations and their example is 2 + 2 * 3 and this guy is like let's look at 2 + 2 * -(6 / 2 +2 / -8 * 4 ** 2) / 1 * 2 - 1/1
@adamisherwood6708
@adamisherwood6708 3 жыл бұрын
I have to say that you have given on your channel the most comprehensive insight in to scraping of any person on this platform. For that I must say a very big thank you.
@JohnWatsonRooney
@JohnWatsonRooney 3 жыл бұрын
Thank you very kind
@alzahalemn7322
@alzahalemn7322 11 ай бұрын
This should be the first video recommended when you search for making API requests. Went through the video quickly but will be watching slowly tomorrow while coding alongside the video :)
@alexcorrea8971
@alexcorrea8971 3 жыл бұрын
love your way of teaching, straightforward with no fluff, thank you!
@JohnWatsonRooney
@JohnWatsonRooney 3 жыл бұрын
Thanks!
@moon_boss123
@moon_boss123 Ай бұрын
It the best video to understand the how to make an API in python.
@jarekmor
@jarekmor 3 жыл бұрын
I am just starting to learn Python programming and I can say that you are my best and favorite Teacher! Thank you!
@JohnWatsonRooney
@JohnWatsonRooney 3 жыл бұрын
Wow, thanks!
@SejuaniMedio
@SejuaniMedio Жыл бұрын
Best Yt chanel. This knowledge only uses to be available on paid content. So thank you so much :)
@JohnWatsonRooney
@JohnWatsonRooney Жыл бұрын
Thanks 😊
@arpitakar3384
@arpitakar3384 2 ай бұрын
The Zorr of Web Scraping.. Thanks 😊 giving this to us
@jasonanderson7175
@jasonanderson7175 Жыл бұрын
This is the best tutorial on APIs that I have watched. It's excellent!
@JohnWatsonRooney
@JohnWatsonRooney Жыл бұрын
Glad you think so!
@katiboo
@katiboo Жыл бұрын
Best explanation I have ever heard. With your help I was able to figure it all out. thanks for what you do.
@MrMLBson09
@MrMLBson09 2 жыл бұрын
Extremely helpful. Cannot thank you enough for this.
@HarryLuap
@HarryLuap 3 жыл бұрын
Best tutorial on this topic i found so far! Thanks man!
@JohnWatsonRooney
@JohnWatsonRooney 3 жыл бұрын
Thanks!
@THEREALDATALORD
@THEREALDATALORD 3 ай бұрын
This was wildly useful. Thank you for sharing your knowledge with the plebs.
@Guzguz28
@Guzguz28 Жыл бұрын
What a great presentation, thnx John
@RachelODonnell-px5mp
@RachelODonnell-px5mp 11 ай бұрын
I loved this thank you so much. Your explanations were perfect , detailed yet to the point!
@pashadjoystick
@pashadjoystick 2 жыл бұрын
watched this video because of learning english :) thank you for clenan english
@wangdanny178
@wangdanny178 2 жыл бұрын
ok thanks again for your video. Now I am getting a better idea of scraping through api.
@RS-Amsterdam
@RS-Amsterdam 3 жыл бұрын
Great video John, very helpful and thanks for sharing. Maybe one suggestion to think over . The little pip of your face is in de right hand down corner. But most of the output of the terminal is also down under so (and I have noticed in many of your video's) the output is often hidden behind that small screen. Maybe it would be better to put it (the PIP) in the top righthand corner. Anyways, thanks for the effort of making these video's. In the past I had to search in YT for solutions for my questions but now since I found your channel, all the(my) answers are here in one channel.
@JohnWatsonRooney
@JohnWatsonRooney 3 жыл бұрын
Good suggestion thank you, I will check goign forward not to block the terminal output and move my camera picture if needed!
@robertburroughs5056
@robertburroughs5056 2 жыл бұрын
nice well structured video.
@diegomairena
@diegomairena 3 жыл бұрын
Nice one John! Love working with an API me. This is great :)
@JohnWatsonRooney
@JohnWatsonRooney 3 жыл бұрын
Thank you!
@dhanishasharma2573
@dhanishasharma2573 Жыл бұрын
i was able to do it, this is a great video! lots of respect and love to you man!🌻
@harshithaml1481
@harshithaml1481 7 ай бұрын
This video is very informative
@Stewty1
@Stewty1 7 күн бұрын
thank you for the great tutorial on pagination
@laredoeneko
@laredoeneko 8 ай бұрын
Fantastic, very good explain it. You got a new subscriber
@igordc16
@igordc16 2 жыл бұрын
I wish I had watched this video before, it sure would've had helped me. The other two videos about API that you did, it was helpful to, but they were too short. I like long videos where you explain everything details by details.
@JohnWatsonRooney
@JohnWatsonRooney 2 жыл бұрын
Great, I’m glad this one was able to help you, thanks for watching
@tubelessHuma
@tubelessHuma 3 жыл бұрын
Very important subject in web scraping. Need more tutorials on it if possible. Thanks for adding value.💖👌🌹
@klkev6511
@klkev6511 4 ай бұрын
I learned a lot. Thank you very much!
@Podoco_music
@Podoco_music 9 ай бұрын
learing about api's and found your video. great project! easy to follow along and replicate. thank you!
@pcservicelondon
@pcservicelondon 3 ай бұрын
awesome video :) thank you
@salvationwithoutregret9781
@salvationwithoutregret9781 Жыл бұрын
Really neat an well structured Video and Code! Thank you kind Sir!
@JohnWatsonRooney
@JohnWatsonRooney Жыл бұрын
Glad it was helpful!
@abbasnorouzi5199
@abbasnorouzi5199 Жыл бұрын
Thank you John , very helpful
@veeru2310
@veeru2310 Жыл бұрын
wow nice content exactly i am looking same nice explanation
@JohnWatsonRooney
@JohnWatsonRooney Жыл бұрын
Thanks!
@fredericogoncalves1938
@fredericogoncalves1938 7 ай бұрын
Thanks John! I learned a lot with your video!
@mickwilson99
@mickwilson99 3 ай бұрын
Excellent! Thank you so much.
@bronxandbrenx
@bronxandbrenx 3 жыл бұрын
Thank you, I will make this as my reference :)
@fdama
@fdama Жыл бұрын
Useful tutorial. Thanks.
@Talha_khalid_786
@Talha_khalid_786 5 ай бұрын
Wonderful tutorial ever : ) thanks
@inesesteves375
@inesesteves375 Жыл бұрын
great video!!
@AlexABC-qj6ns
@AlexABC-qj6ns Жыл бұрын
2) def custom_operator(numbers): length = len(numbers) output = [2 * numbers[0]] # Double the first number if length > 2: for i in range(1, length - 1): result = sum(numbers[:i] + numbers[i+1:]) * numbers[i] output.append(result) output.append(2 * numbers[-1]) # Double the last number return output
@Guzguz28
@Guzguz28 Жыл бұрын
Thank you for a great presentation
@JohnWatsonRooney
@JohnWatsonRooney Жыл бұрын
Thanks!
@rajkumarrajan8059
@rajkumarrajan8059 11 ай бұрын
Simple and superb!!!
@JohnWatsonRooney
@JohnWatsonRooney 11 ай бұрын
Thanks
@cloudproblemssolved
@cloudproblemssolved 6 ай бұрын
20:07 I had a problem with pandas being unrecognized, but i fixed it by using pip3 install pandas instead of pip install pandas Hope this helps!
@yigittilaver3334
@yigittilaver3334 Жыл бұрын
Thanks a lot
@SilverLake.
@SilverLake. Жыл бұрын
Thank you for your video.
@ArjunSahni
@ArjunSahni 2 жыл бұрын
Love the way you have started from scratch and have gradually paced up to the pagination part. Very short and crisp way of teaching, much appreciated! 🙌
@JohnWatsonRooney
@JohnWatsonRooney 2 жыл бұрын
Thank you, very kind!
@boringhuman9427
@boringhuman9427 5 ай бұрын
def parse_json(response): return [{'Name':item['name'],'No_Episodes':len(item['episode'])} for item in response['results']] we could have used dict/list comprehension
@sallycakes472
@sallycakes472 3 жыл бұрын
Love ur stuff John, keep going. ATM dealing with an api that needs a bearer token, that changes daily. Am stumped ATM, need to figure that out otherwise I cant print price no more 😪
@Obnotikus
@Obnotikus 2 жыл бұрын
Hello, thank you for the video. I wanted to ask what extension/program you are using to make the API's more readable in your browser. Thank you
@PeterFletcherDNADeliverer
@PeterFletcherDNADeliverer 2 жыл бұрын
great video, thank you
@AlexABC-qj6ns
@AlexABC-qj6ns Жыл бұрын
3) def create_dictionary_from_csv(filename, separator): with open(filename, 'r') as file: lines = file.readlines() keys = lines[0].strip().split(separator) dictionary = {} for key in keys: dictionary[key] = [] for line in lines[1:]: values = line.strip().split(separator) for i in range(len(keys)): dictionary[keys[i]].append(values[i]) return dictionary
@kashifrana6798
@kashifrana6798 4 ай бұрын
Amazing content. Is there any video to work api with postman?
@jiewang6449
@jiewang6449 2 жыл бұрын
Like your video! Thanks
@naveentda
@naveentda 2 жыл бұрын
Thanks a lot for this video John 😀
@JohnWatsonRooney
@JohnWatsonRooney 2 жыл бұрын
Thanks for watching!
@surajsuryawanshi386
@surajsuryawanshi386 3 жыл бұрын
Thanks.This is great :)
@Ventoria
@Ventoria 3 ай бұрын
thank you thank you thank you
@tsgla
@tsgla Жыл бұрын
I get an error for the last for loop and using the 'mainlist' TypeError: 'NoneType' object is not iterable. I don't really understand why I'm getting that, I followed everything the same and it all worked up until the last part.
@joanabras3018
@joanabras3018 Жыл бұрын
3 corrigida!!: def normalization(list): newList = [] if len(list)
@westinthatcher2003
@westinthatcher2003 5 ай бұрын
Where does 'response' come from in the second function that was created?
@thepakcolapcar
@thepakcolapcar 10 ай бұрын
very nicely put together; I have been working api's using python and this video helps. One thing I always been trying/looking for is that, is there a way to create a generic python project to handle any api rest calls? I am aware that each api is customized by the api provider but just still trying to come up with something generic. Any thoughts/suggestions on this lines?
@sampson14567
@sampson14567 2 жыл бұрын
I have a question. When you are using a list for organizing data into pandas, how do you specify an area that is below episodes?
@lordlucan9568
@lordlucan9568 3 жыл бұрын
Thanks 👍
@marialaranjo394
@marialaranjo394 Жыл бұрын
corrigi a 3 para isto (para incluir math. e statistics.). Só que agora dá um erro a dizer: "'float' object is not iterable" import math import statistics def normalization(list): newList = [] if len(list)
@nazeemoftheclouddistrict7205
@nazeemoftheclouddistrict7205 2 жыл бұрын
Amazing!!!
@JohnWatsonRooney
@JohnWatsonRooney 2 жыл бұрын
Thanks!
@nathanielsackey2083
@nathanielsackey2083 Ай бұрын
Is there any way i can support this channel....i really really want to ...what a kife saver
@JohnWatsonRooney
@JohnWatsonRooney Ай бұрын
Thanks a lot just watching means a lot to me!
@khandoor7228
@khandoor7228 2 жыл бұрын
good content good style i sub'd thanks John
@JohnWatsonRooney
@JohnWatsonRooney 2 жыл бұрын
Thanks glad you like it 👍
@khandoor7228
@khandoor7228 2 жыл бұрын
@@JohnWatsonRooney Hey John since you are online may I make a request? Can you do something with a rest api and specifically querystringparameters? Like GET requests with 3 or 4 parameters? I have not seen a good tutorial online on the topic.
@yusufuthman8571
@yusufuthman8571 2 жыл бұрын
Thank you for this video, It is very help as it solves most of the challenges with my use case. The only challenge is that, I needed to save the raw JSON data I to the data. How d you suggest I go about it?
@hbhavsi
@hbhavsi 6 ай бұрын
What browser are you using that shows the number items in results? I tried Brave (based on Chromium) with a prettier JSON extension, and even Firefox, but when I collapse results, I don't see the number of items. TIA!
@ESTEBAN51321
@ESTEBAN51321 3 жыл бұрын
Hi John, great explanation!. The process is the the same when I have a page_token instead of a page number?. Thanks
@moin213
@moin213 2 жыл бұрын
Suggest a way to return 2 million records from a paginated API when the limit is set to 10k records. What should be the approach using python?
@uneebbhatti1388
@uneebbhatti1388 Жыл бұрын
Which theme he is using please tell me
@JohnWatsonRooney
@JohnWatsonRooney Жыл бұрын
I'm pretty sure its Gruvbox Material
@manikandanmanickam9433
@manikandanmanickam9433 3 жыл бұрын
Hai John, I need the data scraping form tha Google results with number of results and multi threading concept. If you make a video for this. It's will helpful for me
@jakewalker1586
@jakewalker1586 2 жыл бұрын
What is your career advice John?
@joanabras3018
@joanabras3018 Жыл бұрын
3 def normalization(list): newList = [] if len(list)
@oscarmartinezbeltran
@oscarmartinezbeltran 3 жыл бұрын
Hi John: I love your channel !!!! Fantastic! Keep it up! I have one question: in minute 11 when you are building def get_pages(response): instead of pages = data ['info']['pages'] you put pages =response ['info']['pages'] . You replace data with response. My question : response = to what ? You mean: response = r .json ? why? thankyou for your help!
@JohnWatsonRooney
@JohnWatsonRooney 3 жыл бұрын
The "response" is the json data that i am taking from the first function and passing into the second one. This function just parses the data, so we need to give it that data
@oscarmartinezbeltran
@oscarmartinezbeltran 3 жыл бұрын
@@JohnWatsonRooney Thanks John for your quick reply. I understand your explanation. And now I see that here response = main_request(baseurl, endpoint).
@dbarhate
@dbarhate 3 жыл бұрын
Thanks. Is it possible to share python file.
@rameshks5281
@rameshks5281 3 жыл бұрын
Hi sir u do with some external file like csv or excel file sir n read from excel and write back to that excel or csv file sir
@f34tur3
@f34tur3 3 жыл бұрын
Use pandas. You're welcome!
@AlexABC-qj6ns
@AlexABC-qj6ns Жыл бұрын
1) def square_cross(num): if num < 4: return "The minimum size is 4" if (num % 2) == 1: return "Please provide an even number" solution = "" for i in range(num): if (i == 0): solution += "*" * num + " " elif (i == (num - 1)): solution += "*" * num else: solution += "*" + (num - 2) * " " + "*" + " "
@leonardsteele764
@leonardsteele764 2 жыл бұрын
John, would you know where I can find information on calling two APIs at once and using that data with Python?
@leonardsteele764
@leonardsteele764 2 жыл бұрын
Also, thanks for this video
@JohnWatsonRooney
@JohnWatsonRooney 2 жыл бұрын
hey thanks. if you wanted to call 2 different API's you can do it the same way from the same script, just change the URL
@leonardsteele764
@leonardsteele764 Жыл бұрын
Thanks @@JohnWatsonRooney . I just want to be clear on this. If my transaction data api has customerID (int) and my customer data has customerID and I want to pull the transactions and include the customer name, not ID, I would use two URLs. Would I then have if tdata['customerID'] = cdata['customerID'] print cdata['customername']?
@joanabras3018
@joanabras3018 Жыл бұрын
1a parte do 4 corrigida -> no str_(self) class Car: def _init_(self,plate_number,fuel_available,fuel_full_cap,fuel_type): self.plate_number = plate_number self.fuel_available = fuel_available self.fuel_full_cap = fuel_full_cap self.fuel_type = fuel_type def refill(self,liters): if self.fuel_available + liters > self.fuel_full_cap: self.fuel_available = self.fuel_full_cap else: self.fuel_available += liters def _str_(self): return "{} Fuel available: {} Fuel type: {}".format(self.plate_number,self.fuel_available,self.fuel_type)
@deveshsharma607
@deveshsharma607 2 жыл бұрын
any links to the code
@joanabras3018
@joanabras3018 Жыл бұрын
4 class Car: def _init_(self,plate_number,fuel_available,fuel_full_cap,fuel_type): self.plate_number = plate_number self.fuel_available = fuel_available self.fuel_full_cap = fuel_full_cap self.fuel_type = fuel_type def refill(self,liters): if self.fuel_available + liters > self.fuel_full_cap: self.fuel_available = self.fuel_full_cap else: self.fuel_available += liters def _str_(self): return "{} Fuel Available: {} FuelType: {}".format(self.plate_number,self.fuel_available,self.fuel_type)
@AkshayKaushik
@AkshayKaushik 3 жыл бұрын
Brother, please try to maintain playlists according to the Library name.
@marialaranjo394
@marialaranjo394 Жыл бұрын
ainda não consegui fazer nenhum ahah nem com o chat :/
@makoakaleo4653
@makoakaleo4653 Жыл бұрын
Awesome explanation! Thanks a ton.
@NotBeHaris
@NotBeHaris 3 жыл бұрын
Awesome sir. Your way of teaching is so good.
@AlexABC-qj6ns
@AlexABC-qj6ns Жыл бұрын
1) def square_cross(num): if num < 4: return "The minimum size is 4" if (num % 2) == 1: return "Please provide an even number" solution = "" for i in range(num): if (i == 0): solution += "*" * num + " " elif (i == (num - 1)): solution += "*" * num else: solution += "*" + (num - 2) * " " + "*" + " "
@georgeciolac7789
@georgeciolac7789 16 күн бұрын
How can I scrape an html where is no json file and everything is under a button to display hidden elements. The issue is that is no json unless I press the button on main website. Is there a way to look for that button with phyton code except using selenium webdrive?
@SilverLake.
@SilverLake. Жыл бұрын
Example, in the API End point preview shows {"id":1, "displineID":2}, {"id":2, "displineID":1}, {"id":3, "displineID":3}, {"id":4, "displineID":1}, {"id":5, "displineID":2} I want to find 1. Get id numbers of the "displineID": 2 only 2. Get id number of the first "displineID": 2 only 3. Get id number of the second "displineID": 2 only How can I write this in Python? If you have a video or coding relate to this, would you share the link please? Postman Preview [ { "id": "129", "audioRecordingUrl": null, "disciplineId": 2, "howObtainedId": 8, "teamId": 20, } ] }, { "id": "128", "audioRecordingUrl": null, "disciplineId": 3, "howObtainedId": 8, "teamId": 19, ] },
@aymanraouf1820
@aymanraouf1820 Жыл бұрын
I am a complete beginner here. Just to understand what you did in laymans term. You basically mirrored the website into python and extracted information from it. Is this correct? And somehow, you also made the data in JSON format for ease of interpretation by Python.
@imaginary8168
@imaginary8168 Жыл бұрын
What are you using that your API is so much more readable? When I click on the link, I get a continuous line of text, not an organized block of text divided into different categories.
@JohnWatsonRooney
@JohnWatsonRooney Жыл бұрын
I’m the browser? Firefox does it by default- or the app I use is called insomnia to make api requests
@imaginary8168
@imaginary8168 Жыл бұрын
@@JohnWatsonRooney I'll check those out, thanks John!
@tittuc1480
@tittuc1480 Жыл бұрын
tremendous experience I 've completed this tutorial & clear crystal for each topics ,thank you for taking much more efforts
@JohnWatsonRooney
@JohnWatsonRooney Жыл бұрын
Glad it was helpful!
@chrisgousset8673
@chrisgousset8673 2 жыл бұрын
Great and informative video, thank you so much!
@chuxTube68
@chuxTube68 Жыл бұрын
This was a very helpful walk-through - Thanks for the great content! :)
@JohnWatsonRooney
@JohnWatsonRooney Жыл бұрын
Thanks for watching!
@venkatabora1459
@venkatabora1459 3 жыл бұрын
Great Video and an awesome teaching. But what if your api allows you to make asynchronous call? How should we handle pagination in such cases?
@joaquinbaeza4034
@joaquinbaeza4034 2 жыл бұрын
great video thnks!!!
@Draco-pu4ro
@Draco-pu4ro 3 жыл бұрын
Awesome!! What if for each api call you get only 1000 records with 100 records per page and you need to get 20k records from your api in total. How to handle such cases?
@lechendemstephen1378
@lechendemstephen1378 7 ай бұрын
i had some confusion about API's but you just made it look very simple
@mpfiesty
@mpfiesty 7 ай бұрын
Well done sir
@syedghufranhassan3858
@syedghufranhassan3858 2 жыл бұрын
awesome tutorial sir
This is How I Scrape 99% of Sites
18:27
John Watson Rooney
Рет қаралды 74 М.
APIs for Beginners - How to use an API (Full Course / Tutorial)
2:19:33
freeCodeCamp.org
Рет қаралды 4,3 МЛН
OYUNCAK MİKROFON İLE TRAFİK LAMBASINI DEĞİŞTİRDİ 😱
00:17
Melih Taşçı
Рет қаралды 12 МЛН
Cute
00:16
Oyuncak Avı
Рет қаралды 12 МЛН
Working with APIs in Python [For Your Data Science Project]
28:32
StrataScratch
Рет қаралды 111 М.
The most important Python script I ever wrote
19:58
John Watson Rooney
Рет қаралды 199 М.
REST API Crash Course - Introduction + Full Python API Tutorial
51:57
Always Check for the Hidden API when Web Scraping
11:50
John Watson Rooney
Рет қаралды 631 М.
5 Useful F-String Tricks In Python
10:02
Indently
Рет қаралды 308 М.
This Is Why Python Data Classes Are Awesome
22:19
ArjanCodes
Рет қаралды 807 М.
What is a REST API?
9:12
IBM Technology
Рет қаралды 1,5 МЛН
CppCon 2014: Mike Acton "Data-Oriented Design and C++"
1:27:46
Create Your Own Scraper API with FastAPI and Python
14:43
John Watson Rooney
Рет қаралды 19 М.
OYUNCAK MİKROFON İLE TRAFİK LAMBASINI DEĞİŞTİRDİ 😱
00:17
Melih Taşçı
Рет қаралды 12 МЛН