Giới Thiệu Chung

Hôm nay mình sẽ lý giải tất cả đầy đủ người crawl dữ liệu trang linh kiện điện tử NShop. Mình sẽ ra mắt mang đến toàn bộ hầu hết bạn về puppeteer, headless browser với puppeteer nó cần sử dụng để triển khai gì.

Bạn đang xem: Puppeteer là gì

Headless Browser Là Gì?

Headless Browser là 1 trong những trình thông qua website không có giao diện người tiêu dùng. Các headless browser cung cấp liên hệ tự động một website vào một môi trường giống hệt như các trình cẩn thận website thông dụng khác, nhưng nó được tiến hành trải qua hình ảnh chiếc lệnh hoặc sang 1 mạng media. Các chúng ta có thể tìm hiểu thêm trên trên đây.Tại đây bản thân tất cả tóm gọn gàng lại một câu đơn giản dễ dàng là headless Browser thế vì dùng để làm săn sóc website thì nó áp dụng nhằm cào dữ liệu, tự sướng màn hình hiển thị của các trang web,...

Puppeteer Là Gì?

Puppeteer là thỏng viện của NodeJS, giúp bạn điều khiển và tinh chỉnh headless Chrome. Các bạn tham khảo thêm trên trên đây nha

*
Bắt Đầu Làm Thôi Nào

Lên Ý Tưởng

Ý tưởng thì mình vẫn crawl tài liệu trang linh phụ kiện điện tử Ncửa hàng. Vậy bản thân vẫn crawl cái gì trường đoản cú trang này, bản thân đang crawl tất các url hình ảnh, tiêu đề và giá của từng thành phầm vào Home của website. Trang công ty của thằng này nó gồm 60 thành phầm thì bản thân vẫn crawl 60 url hình họa, title cùng price. Crawl ra sao thì các bạn coi tiếp ở chỗ dưới nha.

*

Cài Đặt Và Thiết Lập

Trước hết các bạn khiến cho bản thân một thư mục vào folder đó là địa điểm cất những tlỗi mục dùng để làm crawl tài liệu.Khởi chế tạo ra ứng dụng cùng với file package.jsonTrong thư mục cội của vận dụng của khách hàng với nhập npm init để tạo ứng dụng của người tiêu dùng cùng với tệp package.json.npm initSau đó các bạn cài đặt module puppeteer để crawl dữ liệu nha.Để nhưng mà thiết đặt puppeteer đầu tiên chúng ta bắt buộc thiết lập NodeJS tại phía trên. npm install puppeteerSau khi thiết lập module ngừng các bạn khiến cho mình tệp tin index.js để bản thân viết lịch trình crawl dữ liệu.

Xem thêm: Tiểu Sử Bà Lê Hoàng Diệp Thảo, Tóm Tắt Tiểu Sử Nữ Doanh Nhân Lê Hoàng Diệp Thảo

Bắt Đầu Code Thôi Nào

Trong file index.js chúng ta require thỏng viện vào nha:

const puppeteer = require("puppeteer");Tiếp cho, bọn họ sẽ tạo nên một browser thực hiện cách tiến hành launch() và truy vấn vào trang linh kiện năng lượng điện tử Nsiêu thị nhỏng sau:

const puppeteer = require("puppeteer");let electronicUrl = "https://nshopvn.com/";(async () => const browser = await puppeteer.launch( headless: true ); const page = await browser.newPage(); await page.goto(electronicUrl); ......... ......... .........)();Để có thể crawl dữ liệu của trang web các bạn phải Call mang lại API page.evaluate. Là một API khôn cùng quan trọng đặc biệt cho phép bọn họ chạy script để mang câu chữ trả về.

*

Bây giờ chúng ta qua trang Ncửa hàng giúp xem cấu trúc HTML của chính nó ra làm sao nha. Để rất có thể lấy url hình họa, title cùng giá bán của từng sản phẩm.

*

Nhỏng các bạn sẽ thấy bên trên ảnh thì thằng class="product-wrapper" nó là class phụ thân phủ quanh toàn bộ những câu chữ như: url hình ảnh, title cùng giá chỉ.Bây giờ chúng ta mở tab console vào chrome dev tools để hoàn toàn có thể cào dữ liệu bằng cách viết code JavaScript

let products = <>; // chế tạo một array nhằm hoàn toàn có thể push dữ liệu của từng sản phẩm vào let product_wrapper = document.querySelectorAll(".product-wrapper"); // Lặp qua những NodeList để hoàn toàn có thể đem dữ liệu với gửi thành object product_wrapper.forEach((product) => let dataJson = ; try dataJson.img = sản phẩm.querySelector(".image > img").src; dataJson.title = product.querySelector(".woocommerce-loop-product__title").innerText; dataJson.price = sản phẩm.querySelector(".price").innerText; catch (err) console.log(err) products.push(dataJson);// Push dữ liệu object vào trong array ); console.log(products);Và đây là tác dụng Khi họ thử nghiệm vào console:

*

Sau Khi demo ok bọn họ vào file index.js và đây là code trả chỉnh:

const puppeteer = require("puppeteer");let electronicUrl = "https://nshopvn.com/";(async () => const browser = await puppeteer.launch( headless: true ); const page = await browser.newPage(); await page.goto(electronicUrl); let electronicData = await page.evaluate(() => let products = <>; let product_wrapper = document.querySelectorAll(".product-wrapper"); product_wrapper.forEach((product) => let dataJson = ; try dataJson.img = hàng hóa.querySelector(".image > img").src; dataJson.title = hàng hóa.querySelector(".woocommerce-loop-product__title").innerText; dataJson.price = product.querySelector(".price").innerText; catch (err) console.log(err) products.push(dataJson); ); return products; ); console.log(electronicData); await browser.close();)();Tiếp đến chúng ta mở terminal vào VScode hoặc trong cửa sổ cmd chúng ta gõ cho doanh nghiệp node index.js. Và giúp thấy nó crawl dữ liệu thế nào nha.

*

Vậy là xong xuôi rồi nha, các bạn cũng có thể tìm hiểu thêm code nhưng mình đã push lên github trên phía trên nha

Lời Kết

Vậy Là Xong bài xích Hướng Dẫn Crawl Dữ Liệu Với Puppeteer Và Nodejs rồi nhé. Mình mong muốn sau bài xích topic này các bạn cũng có thể biết cùng hiểu thêm về puppeteer, trường đoản cú topic này những bạn có thể không ngừng mở rộng thêm ý tưởng mới. Và hoàn toàn có thể từ tay bản thân làm mọi project không cần phải thừa quan trọng đặc biệt nhưng mà nó vì thiết yếu chúng ta làm cho thì cũng coi như là kết quả đó vào quá trình bạn làm việc được.

Xem thêm: Tin Tức, Sự Kiện Liên Quan Đến Dương Văn Minh Là Ai, Lịch Sử Có Nợ Gì Tướng Dương Văn Minh

Nếu chúng ta Cảm Xúc nội dung bài viết của bản thân mình tuyệt thì những bạn có thể ủng hộ mình nhằm mình tất cả thêm động lực nhằm ra phần lớn bài topic xuất xắc với chất lượng hơn cỗ vũ bản thân tại đây nha.


Chuyên mục: KHÁI NIỆM
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *