Advanced Web Scraping with Python using Scrapy & Splash
What you'll learn
- Advanced web scraping techniques
- Best techniques to analyse a website before scraping it
- Write clean spiders
- Optimize Splash scripts
- Bypass 504 HTTP errors
- Build Splash Cluster
- Bypass Google ReCaptcha (not solving it)
- Build Desktop apps for Scrapy Spiders (Tkinter)
- Showcase scraped data using ScrapyRT & Flask
- Heavy data processing
- Input & Output processors
- PC or Mac with internet access.
- Have done a couple of projects using SCRAPY & SPLASH is extremely REQUIRED.
- Basics of elements selection using XPATH is also extremely REQUIRED.
Hi there & welcome to the most advanced online resource on Web Scraping with Python using Scrapy & Splash. This course is fully project-based means pretty much on each section we gonna scrape a different website & tackle a different web scraping dilemma also rather than focusing on the basics of Scrapy & Splash we gonna dive straight forward into real-world projects, this also means that this course is absolutely not suitable for beginners with no background on web scraping, Scrapy, Splash & XPath expressions.
---This courses covers a variety of topics such as:---
Requests chaining, like how the requests must be sent in a certain order otherwise they won't be fulfilled at all.
How to analyze a website before scraping it, this is an important step to do since it helps a lot in choosing the right tools to scrape a website & it literally has a huge impact on the performance of your final product.
How to optimize Splash scripts by reducing/aborting all the unnecessary requests that have nothing to do with the data points you're going to scrape, this is an important thing to do if you care about the performance of Splash as it is the key to bypass 504 Gateway Timeout HTTP errors in Splash.
We gonna also cover how to build a Cluster of Splash instances with a load balancer(HAProxy) rather than having one fully overloaded Splash instance this also helps in bypassing 504 Gateway Timeout errors.
Heavy data processing, you'll understand how Input & Output processors work so you'll be able to use them in order to clean the scraped data points as this will ensure the quality of your feeds.
We'll use ScrapyRT (Scrapy RealTime) to build spiders that can fetch data in real-time.
Showcase the scraped data points in a minimalist web app using ScrapyRT & Flask, this is extremely helpful for web scraping freelancers.
Bypass Google ReCaptcha, please don't get me wrong on this point, I don't mean that we will solve it using Scrapy, instead, I'm gonna show you a technique that I use frequently to fool websites and let them think that the request is sent using a browser & was performed by a human being!
Build clean & well-structured spiders
Finally, we gonna build a Desktop app using Tkinter, the app will fetch & execute all the available spiders in your Scrapy project, you can also choose the feed type, feed location & name, this is also extremely helpful & important if you're a web scraping freelancer, it is always a good idea to deliver to your client a desktop app rather than installing Scrapy on his machine & stuff like that.
This course is straight to the point, there's no "foobar" or "quotes to toscrape dot com" as other courses do so make sure you have a good level of focus & lot of determination & motivation.
By the end of this course, you'll sharpen your skills in web scraping using Scrapy & Splash, you'll be able to write clean & high performing spiders that differentiate you from others, this also means if you're a web scraping freelancer you'll get more offers since you can deliver "User-Friendly" spiders with a Graphical User Interface(GUI) or web apps that fetch data in real-time.
So join me on this course & let's harvest the web together!
Who this course is for:
- Anyone wants to learn advanced web scraping techniques
- Anyone wants to learn how to turn Scrapy projects into Desktop/web apps
- Web scraping freelancers
Who I am?
I’m Ahmed Rafik, I'm a self-taught developer & an online teacher on Udemy. I've helped thousands of people learning web scraping with Python using different tools such as Scrapy, Splash & Selenium.
As a self-taught developer, I found myself jumping between different tutorials and (e-)books trying to understand how things can work out together, I was literally wasting so much time trying to connect the dots rather than learning how to code and over time this has become so overwhelming with lots of things to learn and to connect.
I believe coding should be easy for everyone but this also requires you to choose the right instructor with the right knowledge.
In my courses, I'm gonna teach you the skills you need to start your web scraping career from the get-go with no fluff. I try as much as possible to avoid the boring theoretical explanations unless it's necessary, I always keep my courses up to date and that's what helped me to have the highest-rated and the best selling web scraping courses on Udemy.
I can't wait to see you enrolled in one of my courses, I'll make sure to be there for you on every step you make and answer any questions you have.