Scraping Dynamic JavaScript Websites - Beautiful Soup Python

  Рет қаралды 66,381

Oxylabs

Oxylabs

Күн бұрын

Пікірлер: 80
@oxylabs
@oxylabs 2 жыл бұрын
Thank you for watching! We hope you find this video helpful! Please leave a comment if you have any questions. If you are interested in web scraping and tutorial videos, subscribe to our KZbin channel: kzbin.info
@abhijitboda
@abhijitboda 3 жыл бұрын
This is gold guideline. Literally covered most of the cases
@oxylabs
@oxylabs 2 жыл бұрын
We're very delighted to read this!
@DigitalAlligator
@DigitalAlligator Жыл бұрын
This is right on spot, most other videos are not even close to mention all
@carlostoledoFLA
@carlostoledoFLA 7 ай бұрын
Hi, Thank's for this video! For me, in a dynamic sites, using selenium for a get page source, don't work ! Still responding in javascript tag's. The path of the server request and response is: browser request -> server response -> javascript response -> api response -> browser ? Thank's
@oxylabs
@oxylabs 7 ай бұрын
Thank you for the feedback. It’s difficult to say without seeing the code, but have you tried using different web drivers? The situation might change if you add some actions to the page. Also, it might be handy for you to check the code in textual form: oxylabs.io/blog/dynamic-web-scraping-python.
@roystonfurtado
@roystonfurtado 9 ай бұрын
Wow. Great Video! I was looking for a video that highlights realistic and efficient web scraping and this is it. Thanks.
@toshirv341
@toshirv341 Жыл бұрын
Thank you for the informative tutorial! I will probably try web scrapping over the next month, so I'll comment here again if I have any problem!
@oxylabs
@oxylabs Жыл бұрын
Thanks for watching, and definitely reach out if you need any help!
@mehdiahmed7836
@mehdiahmed7836 3 жыл бұрын
short detailed very informative, that's how a good tutorial is made Thanks
@oxylabs
@oxylabs 2 жыл бұрын
Thank you so much!
@masterbe591
@masterbe591 Жыл бұрын
Thanks for this video. Never thought about to use F12 and Network-Tab to find the source of websites data. greetings
@Ned478
@Ned478 2 жыл бұрын
6:14 line 10. Is that pathing to the folder with chromedriver or the chromedriver.exe? Either way mine wont work
@oxylabs
@oxylabs 2 жыл бұрын
Hey. That's a path to a chromedriver executable. Your question is hard to answer since we don't know what kind of error you are getting. If it's a File Not Found error, you would need to make sure that the path leading to the chromedriver is correct - try to use a full path instead of a relative one if it is failing for you. Also, if you're running on Windows OS, the chromedriver should have an .exe at the end. Hope this helps!
@dakooki
@dakooki Жыл бұрын
is this possible with website that requires a user input from the user for example adding a quantity or selecting a shipping service ?
@vladimirantonov4506
@vladimirantonov4506 Жыл бұрын
Hello! And why do all parsers analyze the same site? Interesting different approaches... Thanks for the interesting example!
@ismaelperezmesa524
@ismaelperezmesa524 Жыл бұрын
thanks a lot for all these content you constantly share. I would like to ask you something: this tutorial example works if I want to deploy it on the web as an api for consuming it after? thank you so much
@oxylabs
@oxylabs Жыл бұрын
Hey, we're glad you like our content! As for the tutorial, it's focused on showing how to build your own scraper. In case you want an easy way out, try Oxylabs Scraper APIs for free: oxy.yt/2iM
@angellaz3869
@angellaz3869 2 жыл бұрын
😭😭😭 Idk how to say thank you.. I've been searching for a help for this ajax stuff. this is the one I can say made my day
@oxylabs
@oxylabs 2 жыл бұрын
That's so sweet to hear! Glad you enjoyed it!
@drewgatch4488
@drewgatch4488 Жыл бұрын
Excellent video. Quick question - when I click Ctrl+U on the website, my source page looks different. I don't have anywhere and I have separating each section. Does this matter or was "script" just used to locate the data needed?
@oxylabs
@oxylabs Жыл бұрын
Hello! If you're unable to locate in the source page of the website, do make sure that you visited "quotes.toscrape.com/js" (adding the `/js` at the end of the URL). This was important to ensure that you can follow the script parsing portion of the guide, as we then extracted information found in the tag. You can see the differences when comparing the source codes of "quotes.toscrape.com/js/" vs "quotes.toscrape.com"
@mantasda1904
@mantasda1904 11 ай бұрын
why are you not using requests-html library? Seems to achieve the same in a simpler way
@oxylabs
@oxylabs 11 ай бұрын
Good point, thanks for the feedback!
@voqz6667
@voqz6667 9 ай бұрын
it's dead
@КатеринаВоровская-п6р
@КатеринаВоровская-п6р 2 жыл бұрын
Thanks for the video. Could you please explain where you took value 'h3 >a' for select at the end of the video?
@oxylabs
@oxylabs 2 жыл бұрын
Hello. We’re glad you enjoyed it! The h3 > a syntax just tells Beautiful Soup to get a tags that are directly beneath h3. You can try going to the link displayed in the video (librivox.org/search/?q=time%20machine&search_form=advanced), right-click on any book title and select “inspect”. This should open the exact place where you can see that a is bellow h3. Have fun!
@gianni_ari
@gianni_ari 6 ай бұрын
hi! I was not able to install the chrome driver, do you have any suggestion?
@oxylabs
@oxylabs 5 ай бұрын
Hi! Could you specify why you couldn't install the driver? Was there an error message of any sorts?
@vbernard1
@vbernard1 2 жыл бұрын
Hi, it was very good. Thanks. But I'm facing a problem: at the line 13, it is reported to me that "NameError: name 'data' is not defined". Any idea how to fix it?
@oxylabs
@oxylabs 2 жыл бұрын
Hello! It seems that you’re trying to access a variable called data but it doesn't exist. Please double check the names for the variables you have defined. Also, there are couple of more scenarios when this error might get triggered - this article summarizes that quite well: www.geeksforgeeks.org/handling-nameerror-exception-in-python/
@ureshkayastha
@ureshkayastha Жыл бұрын
Can you sent the new version selenium 4 video for dynamic web scraping
@oxylabs
@oxylabs Жыл бұрын
We'll keep that in mind for our future videos :)
@kihemboallan2645
@kihemboallan2645 2 ай бұрын
can i use jupyter notebooks for what you just did?
@oxylabs
@oxylabs 2 ай бұрын
Hello, yes, you can. However, it's mostly useful for practice or small-scale tasks. You can learn more here: oxylabs.io/blog/what-is-jupyter-notebook
@shreyasoni1302
@shreyasoni1302 2 жыл бұрын
How to get the data when the tag source is not None instead there is a file mentioned
@oxylabs
@oxylabs 2 жыл бұрын
Hello! Thank you for asking :) If there is a src= attribute, then you need to get the file content by doing additional request to the url defined in src= attribute. source = soup.find("script") link_to_file = source["src"]
@legit_nyel
@legit_nyel Жыл бұрын
This method is impossible if the script have src especially reCaptcha right?
@oxylabs
@oxylabs Жыл бұрын
The presented method works on any and all types of web pages, both static and dynamic. As a page containing the reCaptcha is a type of a dynamic page, you can read, extract and manipulate data that is present on the page. :) Hope this helps you!
@filippodiconno9923
@filippodiconno9923 2 жыл бұрын
9:15, what does line 10 do
@oxylabs
@oxylabs 2 жыл бұрын
Hey! It defines a regular expression to match certain combinations of characters within a document. This one specifically is looking for whatever text thats between var data = and a new line.
@programmingpriest4862
@programmingpriest4862 2 жыл бұрын
Thank you so much. much needed
@oxylabs
@oxylabs 2 жыл бұрын
We glad it helped!
@python689
@python689 2 жыл бұрын
Hello, help me please, how to get the text out "Wilson Tour Premier All Court 4B" soup = BeautifulSoup(html, 'lxml') title = soup.find('h1', class_='product--title') Tennis balls Wilson Tour Premier All Court 4B
@oxylabs
@oxylabs 2 жыл бұрын
Hey, thanks for asking! There are a couple of ways (without modifying your find function) 1.Retrieve a list of tag's children and select last one on the list. Strip the white space afterwards: title.contents[-1].strip() 2. Retrieve the whole text of a title, split it by a double space and select last string on the list: title.text.split(" ")[-1]
@ivandechiara3415
@ivandechiara3415 2 жыл бұрын
THANKS ! You saved my life! :)
@oxylabs
@oxylabs 2 жыл бұрын
Happy we could help!
@jjaemc7389
@jjaemc7389 2 жыл бұрын
i'm soooooo appreciative of you😄
@oxylabs
@oxylabs 2 жыл бұрын
Thanks for your feedback. It's much appreciated!
@mhrasoulian
@mhrasoulian 3 жыл бұрын
It was very useful. Thank you!
@oxylabs
@oxylabs 2 жыл бұрын
We're very glad to you liked it!
@capunzel5859
@capunzel5859 Жыл бұрын
Love the explanation, but also loved the music. Can you share the track id?
@oxylabs
@oxylabs Жыл бұрын
Hey! So happy you enjoyed it :) The track is this one: Purple Planet Music - Corporate Planning
@tarunbhardwaj121
@tarunbhardwaj121 2 жыл бұрын
This video helped me a lot.
@oxylabs
@oxylabs 2 жыл бұрын
Thank you!
@anjifeldspar8804
@anjifeldspar8804 2 жыл бұрын
Thanks for making this
@Johnbrown-op5xt
@Johnbrown-op5xt 2 жыл бұрын
Thank you so much. Great useful info.
@oxylabs
@oxylabs 2 жыл бұрын
Glad you liked it!
@mihailazarescu1297
@mihailazarescu1297 Жыл бұрын
Great video! Thanks! Hi, could you demonstrate how to asynchronously request pages that require JavaScript rendering?
@oxylabs
@oxylabs Жыл бұрын
That's a great idea for a future video, we'll keep that in mind, thanks 😊
@kumarsunil3219
@kumarsunil3219 2 жыл бұрын
Hello. This is video seems very interesting and helpful but I need some more assistance if you can.
@oxylabs
@oxylabs 2 жыл бұрын
Hey! how can we help you?
@kamaleshpramanik7645
@kamaleshpramanik7645 2 жыл бұрын
Thank you very much Madam ...
@oxylabs
@oxylabs 2 жыл бұрын
You're welcome!
@benasvalancius
@benasvalancius Жыл бұрын
dekoju, naudinga!
@KhalilYasser
@KhalilYasser 3 жыл бұрын
Awesome. Thank you very much.
@oxylabs
@oxylabs 2 жыл бұрын
Thank YOU for the support!
@maikwurl1484
@maikwurl1484 5 ай бұрын
Thank You
@muneebrehman7842
@muneebrehman7842 3 жыл бұрын
You saved my day
@oxylabs
@oxylabs 2 жыл бұрын
We're very happy to hear!
@nwizugbesamson6718
@nwizugbesamson6718 2 жыл бұрын
This is so perfect
@oxylabs
@oxylabs 2 жыл бұрын
Thank you!
@lorsco4107
@lorsco4107 3 жыл бұрын
Awesome!
@oxylabs
@oxylabs 2 жыл бұрын
Glad to hear!
@0805-k4o
@0805-k4o 2 жыл бұрын
now doesn't work (crying~~~~~~~~)
@oxylabs
@oxylabs 2 жыл бұрын
Hey. Could you specify where exactly it's not working for you? Maybe we can help!
@Grizzler231
@Grizzler231 4 ай бұрын
The way she says html
@PresleyMcquade
@PresleyMcquade 2 жыл бұрын
Awesome!
@oxylabs
@oxylabs 2 жыл бұрын
Thank you!
This is How I Scrape 99% of Sites
18:27
John Watson Rooney
Рет қаралды 199 М.
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН
Don’t Choose The Wrong Box 😱
00:41
Topper Guild
Рет қаралды 52 МЛН
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 65 МЛН
I CAUGHT AI Red-Handed LYING About Its True Intentions
4:12
The AI Update
Рет қаралды 2
How To Extract Scraped Data To Excel (Using Python)
6:38
Oxylabs
Рет қаралды 25 М.
Web Scraping to CSV | Multiple Pages Scraping with BeautifulSoup
29:06
How to Scrape JavaScript Websites with Scrapy and Playwright
11:12
John Watson Rooney
Рет қаралды 53 М.
Python and Scrapy - Scraping Dynamic Site (Populated with JavaScript)
15:40
Web Scraping with Python and BeautifulSoup is THIS easy!
15:51
Thomas Janssen
Рет қаралды 45 М.
Advanced Web Scraping Tutorial! (w/ Python Beautiful Soup Library)
42:43
Python Tutorial: Web Scraping with BeautifulSoup and Requests
45:48
Corey Schafer
Рет қаралды 1,1 МЛН
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН