
Learn to set up a node.js server with Express, initialize npm, create routes, and run locally on localhost:3000, while distinguishing public from private directories and using nodemon for auto-restart.
Learn how package-lock.json ensures consistent environments and how to avoid hard-coding ports by using environment variables with process.env, npm scripts, and dev/prod setups.
Scrape data from a URL, filter results with a custom advanced search by location and age, and parse the HTML into a document object model for element querying.
Explore parsing html source code with jsdom, install and require it, create a dom from data, and use window, document, and selectors to extract elements by id or class.
Inspect search result cards to extract name, photo, photo counter, location, and profile link into a profiles array, and discuss front-end AJAX paging across multiple pages.
Learn to pass page, location, sex, and names as query string parameters to build dynamic URLs, read them in code, and return filtered results via the API for the front-end.
Learn to serve static files with express middleware from a public directory, configure API routes, and handle paths for reliable page delivery.
Implement a front-end search form that prevents default submission, collects input values, and calls a backend API with query parameters via fetch for page-based results.
Render scraped user data as dynamic cards by iterating an array, constructing DOM elements, and injecting profiles with name, location, and photo into the page.
Improve the search function by building query strings with location, age, and optional sex, handling undefined as empty strings, and control recursive paging with a stop button.
Filter search results by names from an input, parsing comma-separated values, trimming, mapping to clean names, and conditionally appending matching profiles to the results.
Learn to retrieve all checked checkboxes by name, with or without square brackets, using the checked attribute, and refactor with getSix for API-ready data.
Learn to set an age range with noUiSlider in a web app, configuring 18–80, starting at 20–50, enabling value displays and steps, and producing a 20–50 string for the backend.
Install and configure XAMPP as a local server with Apache and PHP, set up localhost in htdocs, and use Atom to create and test PHP files like index.php.
Fetch data from websites using curl in a web scraping workflow, initialize and execute a session, set options, and handle http versus https with ssl verification for processing across pages.
Parse html using a dom document class in php, load html from a stream, and extract names, images, and profile links from figure elements to build a searchable results list.
Filter results by a names array and loop through up to ten pages to display only matching figures, while handling server time limits with Ajax for live results.
Use ajax with JavaScript to fetch json data, build an array of profiling name and image source, set the content type to application/json, and render results on the page.
Create an advanced search form for the site, capture names, location, age range, and sex, prevent page reload, and send data via ajax post to fetch results.
Convert a comma-separated string of names into an array using explode, map, and trim, handling spaces and delimiters for accurate search results.
Illustrates a standalone search function for web scraping, managing page numbers, and stopping via a stop button and flag to prevent infinite loops and handle no results.
Explore throwing errors in web scraping with JavaScript and Node.js by counting profile photos across pages via Ajax, detecting missing images, and structuring results with error codes.
Transform your page with the materialize framework by using a CDN-based setup, a 12-column grid, and responsive container layouts. Implement forms with input fields, labels, checkboxes, sliders, and wave-enabled buttons.
Learn to implement and style checkboxes in forms, capture multiple selections with jQuery, build an array of values, and send them via Ajax to the server.
Create an age range slider with noUiSlider from the Materialize framework, load the CSS and JS, set min 18, max 80, and start at 20 and 50, then wire updates.
Design and display profile cards with materialize, showing image, name, and optional photo counter in a responsive grid while fetching data via ajax to render multiple profiles.
[ NEW RE-RECORDED VERSION! ]
Have you heard about Mark Zuckerberg? He has invented Facebook. But before that, he created site called FaceMash. The goal of that project was to compare 2 girls and choose which one is hotter. They weren't just random girls. They were college students. People knew them and that was the point.
But how Mark got all those girl's photos? It's simple. He fetched them from public search of colleges.
He wrote some script to do that for him, because downloading manually all those pictures would've taken a lot of time.
And this is similar to what we are going to do in this course.
We are going to fetch people's profiles from website called Badoo and filter them by names.
Basically this idea stands even for Google search.
Google is parsing pages from the internet and then filter collected data.
This is exactly what we you're going to learn in this course.
You'll learn how to use JavaScript and Node.js to fetch HTML code from every website you want!
You'll create a project with following features:
Getting HTML code from any URL you want with Node.js
Parsing HTML code to the DOM with JSDOM library
Filtering parsed DOM by user names
Passing form values with query strings to Node.js
noUiSlider library for nicely looking age range slider
Express framework
It's worth mentioning that every lecture has it's own source code files. So if you will somehow stuck you can always compare your code with code from particular lecture.
Now here's the question:
Do you want to effectively learn Node.js with modern JavaScript by creating your own web scraper?
If so, just enroll in this course now.