
Learn the basics of web scraping and web crawling, including extracting data from sites into a database, automating hourly checks, and indexing pages across domains.
Understand the legality of web scraping and web crawling when data is publicly available, with case notes on LinkedIn and High Q, terms and conditions, and denial of service risks.
Discover the development toolkit for building a web crawler: use VS Code or other editors to run and test code, Postman for REST APIs, Chrome DevTools, and methods for scraping.
Explore three web crawling methods—from discovering hidden rest apis and simple http requests to puppeteer-powered browser rendering—prioritizing api first, then lightweight requests, then puppeteer, with real-site examples.
Explore why request and request-promise enter maintenance mode and how this affects web crawling with Node.js, including alternatives like axios and needle and cookie handling.
Discover hidden API calls with Chrome DevTools network tab, filter xhr requests, and extract product data (title, price, images) from load more actions, then replicate in Postman.
Identify the hidden rest api with Postman and test the get request to pull new arrivals for women and men, noting data is already formatted for scripting.
Initialize npm in an empty hm scraping folder and set up an index. Use the needle package for HP requests and note the deprecated status of the request package.
Install and import the needle package in Node.js, create an async main function, and call the API while adding necessary headers to resolve access denied.
Set a user agent header in Node.js requests to avoid access denial, using Needle and browser-like headers. Then fetch all products and save them to a MongoDB database.
Set up a free cloud MongoDB cluster, create a project and user, whitelist your IP, and obtain a connection string to support your Node.js web crawling workflow.
Connect to a MongoDB cluster from Node.js by installing the MongoDB driver, configuring a connection string with user and password, and exporting a reusable connect function with error handling.
Connect to mongodb, inspect the api result body to extract the products array, and save all products to the Agent M database and the women products collection using insert many.
Learn how to fetch all products from an API in Node.js by looping with offset and page size, adding delays, and saving results to MongoDB.
Learn to uncover hidden APIs with Chrome DevTools by inspecting network traffic and using the mobile page trick to access product data and pagination, then test APIs with Postman.
Learn to reproduce mobile API requests in Postman by importing curl requests, identifying essential headers such as user agent, referer, and AMP same origin, and validating responses.
Learn how to make a HTTP request using node-fetch and the Fetch API
Build a fetch options object, for loop with a start offset that advances by 20, and throttle requests with a sleep function to retrieve many items while avoiding bans.
Copy the MongoDB folder into the Express project and connect to MongoDB, then create the AliExpress database and the watches collection and insert many items.
Build a test-driven web crawler for Amazon.com to extract product titles, prices, and details from product pages and follow links for complete coverage.
Explain why we use http requests over puppeteer for scraping Amazon, focusing on server-rendered pages. Prefer simple http requests when hidden rest APIs exist, and reserve puppeteer for javascript-heavy rendering.
Begin the Amazon web crawler by creating a directory, initializing npm, and installing the needle, chest, and cheerio packages to enable testing and element selection in Node.js.
Develop a reusable http request module with needle to fetch and save html for testing and crawling across amazon product pages, enabling test files for different layouts.
Master a test-driven approach to crawling Amazon product pages with Node.js, handling multiple layout variations to reliably extract price and title while preserving existing cases as you add new ones.
Set up a test folder and files to show how testing works, using describe and test to verify a parser in the web crawler and npm run test.
Write the first html parser test for a product page, using before all setup and a read file sync, and verify the title matches the Amazon page.
Implement a cheerio-based parser to extract the product title from a page, trim whitespace, and return it in an object, ensuring the test passes; plan to extract the price next.
Learn to extract the product price from a page by writing a price test and a parser targeting the sale price, then crawl links for price and title.
Develop a second test to extract all page links and filter product links starting with /DP using Cheerio in the Node.js crawler, then validate the product page title and price.
Write a simple Node.js web crawler that visits pages, extracts title, price, and product data, and tracks visited and to-visit links with a while loop and sleep.
Learn to crawl only unique product IDs by cleaning and normalizing links, and extracting IDs with a first 14 characters slice to keep results clean.
Add a new test case for different product page layouts and price extraction, and build a modular crawler with a dedicated parser, preparing for puppeteer web crawling.
Create an automated workflow using Chromium and Puppeteer to log into LinkedIn, visit suggested profiles, build a library of profiles, and extract data.
Initialize the web crawler project by creating a crawler folder, running npm init, and installing puppeteer and cheerio.
Learn to automate web navigation with puppeteer in node.js: launch chromium, open a new page, and navigate to a URL such as a LinkedIn profile, handling the sign-in prompt.
Log in to LinkedIn using Puppeteer to fill the username and password, click sign in, and crawl related profiles after adjusting the viewport.
Log in to LinkedIn, view my profile, reveal related profiles via an extended viewport, extract profile links with a CSS selector using puppeteer and cheerio, and crawl them.
Build a puppeteer web crawler loop that visits LinkedIn profiles, manages links to visit and visited links, and scrapes profile data with controlled delays.
Do you want to build a webcrawler in Nodejs?
In this course you will learn how to build a webcrawler using the newest JavaScript syntax with popular sites like H&M, Amazon, LinkedIn and AliExpress!
You'll learn how to find hidden API's on sites like H&M and AliExpress and see how you can even avoid building a web crawler in the first place, you can save a lot of time this way!
Then I show how to build a web crawler for Amazon the test-driven way, by building out tests for the various product page layouts there is on Amazon.
After that we'll take a look at how to automate login and scraping profiles from LinkedIn using Puppeteer, the automated Chromium browser!