Skip to content
October 1, 2026
  • Bluesky
  • Facebook
  • Linkedin
  • Mastodon
  • RSS
  • Twitter
  • Youtube

Daily CyberSecurity

Zero-hour alerts. Unmatched analysis.

Primary Menu
  • Home
  • CVE Data
    • CVE Watchtower
    • Top Exploited CVEs
    • CVE Stats by Vendor
    • Q2 2026 Report
    • CVE Alerts
    • CVE Alert Settings
    • Pricing
  • Cyber Criminals
  • Data Leak
  • Free Tools
    • CVSS 3.1 Calculator
    • Certificate Viewer
    • DNS Lookup
    • Encoder & Hash Generator
    • IP / Subnet Calculator
    • Whois Lookup
  • Linux
  • Malware
  • Vulnerability
  • Submit Press Release
  • Weekly Recap
Light/Dark Button
  • Home
  • Technique
  • Web Scraping with JavaScript: A Beginner’s Guide
  • Technique

Web Scraping with JavaScript: A Beginner’s Guide

Do Son December 20, 2021 6 minutes read
tech-programming

Developers are using web scrapers for various types of data fetching. Let us learn how to do web scrape using JavaScript.

NodeJS, the runtime for JavaScript, has made the language one of the most popular and extensively used globally. For both online and mobile applications, JavaScript now offers the necessary tools. This article will demonstrate how NodeJS’s robust ecosystem enables you to scrape the web to effectively satisfy most of your needs.

What is Web Scraping?

Scraping a website’s content and data using bots is web scraping. Web scraping, unlike screen scraping, collects the HTML code and data contained in a database from a website. As a result, the website’s content can be copied to another location. Web scraping is utilized in various digital enterprises that depend on data collection.

Many companies are using web scraping and big data to revolutionize business intelligence. Web scraping is commonly used for the following purposes.

Search engines use bots to crawl a website, assess its content, and rank it in the results. For example, bots automatically retrieve prices and product descriptions for affiliated vendor websites on price comparison sites. Also, market research firms use web scrapers to collect information from forums and social media.

PHP and Python are commonly used for web scraping, but now you can also use web scraping with JavaScript.

Prerequisites

Here are the things you will require before starting web scraping with JavaScript (NodeJS).

  • Web browser
  • Web page (From which you will extract data)
  • Code editors
  • js
  • Axios
  • Cheerio
  • Puppeteer

Installation Process

Now that we know about the application, let’s get started with the installation process.

NodeJS

Node.js makes it easy to automate the time-consuming collection of data from websites. Follow these steps to get it installed on your computer: get the software and the installation instructions. In addition to Node.js, npm (the Node Package Manager) will also be downloaded and installed as part of the installation process.

Node.js comes with npm as its default package manager. The consumption of packages will be quick and straightforward, with npm’s support you will be employing packages to facilitate web scraping. Run the installation command (npm init) from inside your project’s root directory to produce a package.json file containing all the project’s information.

Axios

Promise-based HTTP client Axios is available in both Node.js and the browser. If you want to make HTTP requests from Node.js using promises, this npm package will help you. The Axios platform can also handle numerous concurrent queries and automatically transform data into JSON format.

Run the installation command (npm install Axios) from the command line in your project’s directory folder. Your project directory will be immediately established with a node modules folder, where NPM will install Axios.

Cheerio

Cheerio offers a jQuery-like syntax for altering web page content, making it a fast and lightweight module. Consequently, the selection, editing, and viewing of DOM components on a web page are substantially simplified.

Cheerio is an excellent tool for fast parsing and manipulating the DOM. However, it does not behave like a web browser. For example, no JavaScript is executed, no external resources are loaded, and no CSS style is applied.

You can install it by running the installation command (npm install cheerio) on the command line of your project’s directory folder. Like Axios, npm will install Cheerio in a node modules folder, which will be automatically generated in your project’s directory by default.

Puppeteer

As a Node.js library, Puppeteer may be used to manipulate and retrieve data from a headless Chrome browser.

As HTTP-based tools like Axios may not be able to provide the desired results because of JavaScript-based websites, by using Puppeteer, you can run JavaScript like a browser, scrape dynamic material from websites, and replicate the browser experience.

Open your project’s directory in the terminal, then type the installation command (npm install puppeteer) to install it.

Now that the installation process is done let us jump right into web scraping!

Scraping

Let us learn how to use JavaScript to scrape data from a website.

Allow us to utilize a web browser’s inspector feature to locate the specific HTML components that contain the data we are searching for.

The data for the number of comments is included inside an <a> element, which is initiated from the <span> tag and has the class of comment bubbles. This information will be utilized to choose these items on the page using Cheerio.

The procedures for developing the scraping logic are as follows:

  1. Begin by creating the index.js file, which will contain the programming logic for getting data from the web page.
  2. Then, use the built-in ‘require’ function in Node.js, including the modules that will be used in the project.
  3. Now, perform a GET HTTP call using Axios to the target web page. Take note that when a request is made to a web page, it responds. This Axios response object comprises many components, one of which is data referring to the payload delivered by the server. As a result, when a GET request is performed, we output the HTML-formatted data included in the response.
  1. Next, populate a Cheerio instance with the response data. In this way, a Cheerio object can be built to assist in parsing the HTML from the destination web page and locating the DOM components containing the data we are looking for. Just like we do with jQuery.
  2. The next step will be to utilize Cheerio’s selector syntax to find the items that contain the data we are looking for. Finally, export the data in a text format using the ‘text()’ function.
  3. In the end, log the errors that occur throughout the scraping process.

When the appropriate code is performed using the ‘node index.js’ command, it returns the data you requested from the destination web page.

Code:

const axios = require("axios");

const cheerio = require("cheerio");

axios
.get("your website url")
//**[for example .get("https://en.wikipedia.org/wiki/Web_scraping")]"**
.then((response) => {

const html = response.data;

const $ = cheerio.load(html);

const scrapedata = $("a", ".comment-bubble").text();

console.log(scrapedata);
})

.catch((error) => {
console.log(error);
});

 

Conclusion

That is how you can use JavaScript and Node.js for web scraping. You will be able to extract valuable data from websites and incorporate it into your application using these abilities.

If you are looking to develop anything more complex, the documentation for Axios, Cheerio, and Puppeteer may help you get started fast.

SHARE
Share on FacebookShare on XShare on LinkedInShare on TelegramShare on BlueskyShare on Mastodon

Search

Translation

CVE ALERTS
📈

EPSS Spike Alerts
Catch risk spikes before they make headlines.

🎯

Custom EPSS/CVSS
Set score thresholds to effectively filter noise.

🛡️

Exploit Intel
Real-world exploit signals beyond the KEV catalog.

🐙

GitHub Issues
Auto-create alert tickets without duplication.

📬

Weekly Digest
Clean summaries, eliminating email spam.

🏷️

Watchlist Groups
Tag vulnerabilities by team (Infra/AppSec/SOC).

🔀

Smart Routing
Route chat channels based on severity levels.

🚨

RBP Tracker
Early warning detection and tracking system.

Subscribe – $7/mo or try free for 14 days →

🚨 Active Exploits in the Wild

  • CVE-2026-100382CVSS 10.0
    Improper Neutralization of Special Elements used in an OS Command (\'OS Command Injection\') vulnerability in Wikimedia Foundation Mediawiki...
    Admin intel📅 Updated: Oct 1, 2026
  • CVE-2026-76504CVSS 9.8
    A vulnerability in the API session-based authentication management of Cisco Catalyst SD-WAN Manager could allow an unauthenticated, remote...
    Admin intelCISA KEV📅 Added to KEV: Sep 30, 2026📅 Updated: Sep 30, 2026
  • CVE-2026-86950CVSS 8.8
    An out-of-bounds write issue was addressed with improved bounds checking. This issue is fixed in iOS 26.7.1 and...
    Admin intelCISA KEV📅 Added to KEV: Sep 29, 2026📅 Updated: Sep 29, 2026
  • CVE-2026-88772
    Memory overflow vulnerability leading to remote code execution or denial of service.
    Admin intelCISA KEV📅 Added to KEV: Sep 27, 2026📅 Updated: Sep 27, 2026
  • CVE-2026-88771
    Remote code execution due to improper input validation that can allow an unauthenticated attacker to execute arbitrary commands.
    Admin intelCISA KEV📅 Added to KEV: Sep 27, 2026📅 Updated: Sep 27, 2026
  • CVE-2026-65660CVSS 8.8
    Improper control of generation of code (\'code injection\') in Microsoft Office SharePoint allows an authorized attacker to execute...
    Admin intelCISA KEV📅 Added to KEV: Sep 25, 2026📅 Updated: Sep 25, 2026
  • CVE-2026-5430CVSS 10.0
    The JWT authentication mechanism accepts tokens signed with algorithms other than those explicitly configured or supported. This allows...
    CISA KEV📅 Added to KEV: Sep 24, 2026
  • CVE-2026-71362CVSS 9.1
    Adobe Commerce is affected by an Incorrect Authorization vulnerability that could result in privilege escalation. An attacker could...
    CISA KEV📅 Added to KEV: Sep 24, 2026
Powered by CVE Watchtower

Critical Vulnerabilities

  • CVE-2026-75957CVSS 9.8
    The Ultimate Multisite – WordPress Multisite SaaS & WaaS Platform plugin for WordPress is vulnerable to Authentication Bypass...
    📅 Updated: Oct 1, 2026
  • CVE-2026-15989CVSS 9.8
    The Super Forms – Drag & Drop Form Builder plugin for WordPress is vulnerable to Privilege Escalation in...
    📅 Updated: Oct 1, 2026
  • CVE-2026-92966CVSS 9.1
    The The Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress plugin for WordPress is vulnerable...
    📅 Updated: Oct 1, 2026
  • CVE-2026-101148CVSS 10.0
    The BackupSheep WordPress Backup Plugin WordPress plugin through 1.8 does not properly validate its integration key, treating an...
    📅 Updated: Oct 1, 2026
  • CVE-2026-62329CVSS 9.8
    Vulnerability Type: CWE-1392: Use of Default Credentials Attack type: Unauthenticated remote Impact: Unauthenticated users can access the default...
    📅 Updated: Oct 1, 2026
  • CVE-2026-103264CVSS 9.3
    Fleet versions before 4.87.0 contain an authentication bypass vulnerability in the device API that accepts hostnames and hardware...
    📅 Updated: Oct 1, 2026
  • CVE-2026-103244CVSS 9.3
    ground-station versions before 0.8.0 contain an authentication bypass vulnerability in the setup.restore command that allows unauthenticated attackers to...
    📅 Updated: Oct 1, 2026
  • CVE-2026-57496CVSS 9.6
    ## REST Path Traversal Bypasses Token Redaction in netlicensing-mcp ### Summary The `netlicensing_get_product` MCP tool in `netlicensing-mcp` interpolates...
    📅 Updated: Oct 1, 2026
Powered by CVE Watchtower

Daily CyberSecurity

  • About SecurityOnline.info
  • Advertise with us
  • Announcement
  • Contact
  • Contributor Register
  • Login
  • Disclaimer
  • DCMA
  • Privacy Policy
  • About SecurityOnline.info
  • Advertise on SecurityOnline.info
  • Contact Us

When you purchase through links on our site, we may earn an affiliate commission. Here’s how it works

  • CVE Watchtower
  • CVE Statistics by Vendor 2026
  • Q2 2026 Report
  • Top Exploited CVEs
  • Bluesky
  • Facebook
  • Linkedin
  • Mastodon
  • RSS
  • Twitter
  • Youtube
© 2017 - 2026 Daily CyberSecurity. All Rights Reserved.