Udemy

Scrapy: Powerful Web Scraping & Crawling with Python

Enroll Now
  • 16,596 Students
  • Updated 1/2020
  • Certificate Available
4.2
(2,788 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
10 Hour(s) 49 Minute(s)
Language
English
Taught by
GoTrained Academy, Lazar Telebak
Certificate
  • Available
  • *The delivery and distribution of the certificate are subject to the policies and arrangements of the course provider.
Rating
4.2
(2,788 Ratings)

Course Overview

Scrapy: Powerful Web Scraping & Crawling with Python

Python Scrapy Tutorial - Learn how to scrape websites and build a powerful web crawler using Scrapy, Splash and Python

Why this course?

  • Join the most popular course on Web Scraping  with Scrapy, Selenium and Splash.

  • Learn from the a professional instructor, Lazar Telebak, full-time Web Scraping Consultant.

  • Apply real-world examples and practical projects of Web Scraping popular websites.

  • Get the most up-to-date course and the only course with 10+ hours of playable content.

  • Empower your knowledge with an active Q&A board to answer all your questions.

  • 30 days money-back guarantee.


Scrapy is a free and open source web crawling framework, written in Python. Scrapy is useful for web scraping and extracting structured data which can be used for a wide range of useful applications, like data mining, information processing or historical archival. This Python Scrapy tutorial covers the fundamentals of Scrapy.

Web scraping is a technique for gathering data or information on web pages. You could revisit your favorite web site every time it updates for new information, or you could write a web scraper to have it do it for you!

Web crawling is usually the very first step of data research. Whether you are looking to obtain data from a website, track changes on the internet, or use a website API, web crawlers are a great way to get the data you need.

A web crawler, also known as web spider, is an application able to scan the World Wide Web and extract information in an automatic manner. While they have many components, web crawlers fundamentally use a simple process: download the raw data, process and extract it, and, if desired, store the data in a file or database. There are many ways to do this, and many languages you can build your web crawler or spider in.

Before Scrapy, developers have relied upon various software packages for this job using Python such as urllib2 and BeautifulSoup which are widely used. Scrapy is a new Python package that aims at easy, fast, and automated web crawling, which recently gained much popularity.

Scrapy is now widely requested by many employers, for both freelancing and in-house jobs, and that was one important reason for creating this Python Scrapy course, and that was one important reason for creating this Python Scrapy tutorial to help you enhance your skills and earn more income.

In this Scrapy tutorial, you will learn how to install Scrapy. You will also build a basic and advanced spider, and finally learn more about Scrapy architecture. Then you are going to learn about deploying spiders, logging into the websites with Scrapy. We will build a generic web crawler with Scrapy, and we will also integrate Splash and Selenium to work with Scrapy to iterate our pages. We will build an advanced spider with option to iterate our pages with Scrapy, and we will close it out using Close function with Scrapy, and then discuss Scrapy arguments. Finally, in this course, you will learn how to save the output to databases, MySQL and MongoDB. There is a dedicated section for diverse web scraping solved exercises... and updating.

One of the main advantages of Scrapy is that it is built on top of Twisted, an asynchronous networking framework. "Asynchronous" means that you do not have to wait for a request to finish before making another one; you can even achieve that with a high level of performance. Being implemented using a non-blocking (aka asynchronous) code for concurrency, Scrapy is really efficient.

It is worth noting that Scrapy tries not only to solve the content extraction (called scraping), but also the navigation to the relevant pages for the extraction (called crawling). To achieve that, a core concept in the framework is the Spider -- in practice, a Python object with a few special features, for which you write the code and the framework is responsible for triggering it.

Scrapy provides many of the functions required for downloading websites and other content on the internet, making the development process quicker and less programming-intensive. This Python Scrapy tutorial will teach you how to use Scrapy to build web crawlers and web spiders.

Scrapy is the most popular tool for web scraping and crawling written in Python. It is simple and powerful, with lots of features and possible extensions.


Python Scrapy Tutorial Topics:

This Scrapy course starts by covering the fundamentals of using Scrapy, and then concentrates on Scrapy advanced features of creating and automating web crawlers. The main topics of this Python Scrapy tutorial are as follows:

  • What Scrapy is, the differences between Scrapy and other Python-based web scraping libraries such as BeautifulSoup, LXML, Requests, and Selenium, and when it is better to use Scrapy.

  • This tutorial starts by how to create a Scrapy project and and then build a basic Spider to scrape data from a website.

  • Exploring XPath commands and how to use it with Scrapy to extract data.

  • Building a more advanced Scrapy spider to iterate multiple pages of a website and scrape data from each page.

  • Scrapy Architecture: the overall layout of a Scrapy project; what each field represents and how you can use them in your spider code.

  • Web Scraping best practices to avoid getting banned by the websites you are scraping.

  • In this Scrapy tutorial, you will also learn how to deploy a Scrapy web crawler to the Scrapy Cloud platform easily. Scrapy Cloud is a platform from Scrapinghub to run, automate, and manage your web crawlers in the cloud, without the need to set up your own servers.

  • This Scrapy tutorial also covers how to use Scrapy for web scraping authenticated (logged in) user sessions, i.e. on websites that require a username and password before displaying data.

  • This course concentrates mainly on how to create an advanced web crawler with Scrapy. We will cover using Scrapy CrawlSpider which is the most commonly used spider for crawling regular websites, as it provides a convenient mechanism for following links by defining a set of rules. We will also use Link Extractor object which defines how links will be extracted from each crawled page; it allows us to grab all the links on a page, no matter how many of them there are.

  • Furthermore there is a complete section in this Scrapy tutorial to show you how to combine Splash or Selenium with Scrapy to create web crawlers of dynamic web pages. When you cannot fetch data directly from the source, but you need to load the page, fill in a form, click somewhere, scroll down and so on, namely if you are trying to scrape data from a website that has a lot of AJAX calls and JavaScript execution to render webpages, it is good to use Splash or Selenium along with Scrapy.

  • We will also discuss more functions that Scrapy offers after the spider is done with web scraping, and how to edit and use Scrapy parameters.

  • As the main purpose of web scraping is to extract data, you will learn how to write the output to CSV, JSON, and XML files.

  • Finally, you will learn how to store the data extracted by Scrapy into MySQL and MongoDB databases.


Course Content

  • 26 section(s)
  • 85 lecture(s)
  • Section 1 Scrapy vs. Other Python Web Scraping Frameworks
  • Section 2 Scrapy Installation
  • Section 3 Building Basic Spider with Scrapy
  • Section 4 XPath Syntax
  • Section 5 Q&A
  • Section 6 Building More Advanced Spider with Scrapy
  • Section 7 Web Scraping Best Practices
  • Section 8 Deploying & Scheduling Scrapy Spider on ScrapingHub
  • Section 9 Logging into Websites Using Scrapy
  • Section 10 Scrapy as a Standalone Script (UPDATED)
  • Section 11 Building Web Crawler with Scrapy
  • Section 12 Scrapy with Selenium
  • Section 13 Scrapy with Splash - JavaScript Websites
  • Section 14 Scrapy Spider - Bookstore
  • Section 15 More about Scrapy
  • Section 16 Export Output to Files
  • Section 17 Scrapy Project #1: Scraping Craigslist Eng Jobs in NY
  • Section 18 Extracting Data to Databases - MySQL & MongoDB
  • Section 19 Scrapy Project #2: Web Scraping Class-Central.com
  • Section 20 Scrapy Advanced Topics
  • Section 21 Scrapy Project #3: Web Scraping Dynamic Website eplanning.ie
  • Section 22 Project #4: Scraping Shoes' Prices from API Request
  • Section 23 Project #5: Web Scraping LinkedIn.com (UPDATED)
  • Section 24 Solved Web Scraping Exercises
  • Section 25 Bonus: Data Extraction with APIs
  • Section 26 Bonus: Web Scraping with Beautiful Soup, Requests & Selenium Course

What You’ll Learn

  • Creating a web crawler in Scrapy
  • Crawling a single or multiple pages and scrape data
  • Deploying & Scheduling Spiders to ScrapingHub
  • Logging into Websites with Scrapy
  • Running Scrapy as a Standalone Script
  • Integrating Splash with Scrapy to scrape JavaScript rendered websites
  • Using Scrapy with Selenium in Special Cases, e.g. to Scrape JavaScript Driven Web Pages
  • Building Scrapy Advanced Spider
  • More functions that Scrapy offers after Spider is Done with Scraping
  • Editing and Using Scrapy Parameters
  • Exporting data extracted by Scrapy into CSV, Excel, XML, or JSON files
  • Storing data extracted by Scrapy into MySQL and MongoDB databases
  • Several real-life web scraping projects, including Craigslist, LinkedIn and many others
  • Python source code for all exercises in this Scrapy tutorial can be downloaded
  • Q&A board to send your questions and get them answered quickly


Reviews

  • A
    Abass Owolabi
    3.0

    the course is good and the lecturer is alos good with teaching and explaining but the whole project is outdated all the project doesnt allow any of those codes

  • S
    Sophie Lefebvre
    4.5

    Good course, learning a lot of information but it needs to be updated on some part. I ran into a lot of bugs with the different packages we had to install.

  • L
    Lonely Pineapple AI Studios | Nidia Sukhu | Automation Engineer/LLM Specialist
    5.0

    Great course, highly recommend! Very well structured syllabus that prepares you with skills to be able to scrape a wide range of websites. In particular I liked the scrapy advanced topics where you learned to scrape tables, adjust user-agent and proxies

  • Z
    Zhi Shen Aung
    3.5

    course was good, however the instructor skipped through several crucial part that leaves you to figure it out yourself. Some of the material was old and requires some updates.

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed