Puppeteer là gì

      16
Giới Thiệu Chung

Hôm nay bản thân đã trả lời toàn bộ phần lớn bạn crawl tài liệu trang linh kiện điện tử NShop. Mình đã ra mắt cho tất cả hồ hết fan về puppeteer, headless browser với puppeteer nó sử dụng để triển khai gì.quý khách đang xem: Puppeteer là gì

Headless Browser Là Gì?

Headless Browser là 1 trong những trình để mắt tới web không tồn tại giao diện người tiêu dùng. Các headless browser cung ứng hệ trọng tự động hóa một website vào một môi trường giống như những trình coi sóc web phổ cập khác, tuy vậy nó được thực hiện thông qua giao diện cái lệnh hoặc qua một mạng truyền thông. Các bạn có thể xem thêm tại trên đây.Tại trên đây mình gồm tóm gọn gàng lại một câu dễ dàng và đơn giản là headless Browser vậy vì dùng để lưu ý website thì nó thực hiện nhằm cào dữ liệu, tự sướng màn hình hiển thị của những trang web,...

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

Puppeteer Là Gì?

Puppeteer là tlỗi viện của NodeJS, giúp bạn tinh chỉnh và điều khiển headless Chrome. Các bạn xem thêm trên phía trên nha


*

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

Lên Ý Tưởng

Ý tưởng thì bản thân đã crawl dữ liệu trang linh phụ kiện điện tử Nsiêu thị. Vậy bản thân vẫn crawl đồ vật gi trường đoản cú trang này, mình đã crawl vớ các url ảnh, tiêu đề với giá chỉ của từng thành phầm vào trang chủ của trang web. Trang chủ của thằng này nó gồm 60 thành phầm thì mình sẽ crawl 60 url ảnh, title và price. Crawl thế nào thì chúng ta coi tiếp ở trong phần dưới nha.


*

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

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

Trong tệp tin index.js các bạn require thỏng viện vào nha:

const puppeteer = require("puppeteer");Tiếp đến, họ sẽ tạo một browser thực hiện phương thức launch() cùng truy vấn vào trang linh kiện năng lượng điện tử Ncửa hàng nlỗi 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 chúng ta đề xuất Call đến API page.evaluate. Là một API khôn xiết quan trọng đặc biệt có thể chấp nhận được bọn họ chạy script để đưa ngôn từ trả về.

*

Bây giờ đồng hồ các bạn qua trang Nsiêu thị giúp thấy cấu trúc HTML của chính nó ra sao nha. Để có thể lấy url hình họa, title và giá bán của từng thành phầm.

Xem thêm: Cập Nhật Miui 9 - Global Beta Phiên Bản 8


*

Nlỗi các bạn đang thấy trên hình họa thì thằng class="product-wrapper" nó là class phụ thân phủ quanh tất cả các ngôn từ như: url hình ảnh, tiêu đề với giá chỉ.Bây giờ đồng hồ các bạn mở tab console trong chrome dev tools để hoàn toàn có thể cào tài liệu bằng phương pháp viết code JavaScript

let products = ; // chế tạo một array để có thể push tài 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 nhằm có thể rước tài liệu với chuyển thành object product_wrapper.forEach((product) => let dataJson = ; try dataJson.img = product.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 tài liệu object vào trong array ); console.log(products);Và đó là hiệu quả khi chúng ta chạy thử trong console:

*

Sau Khi kiểm tra ok bọn họ vào file index.js và đó 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 = sản phẩm.querySelector(".image > img").src; dataJson.title = hàng hóa.querySelector(".woocommerce-loop-product__title").innerText; dataJson.price = hàng hóa.querySelector(".price").innerText; catch (err) console.log(err) products.push(dataJson); ); return products; ); console.log(electronicData); await browser.close();)();Tiếp mang lại chúng ta mnghỉ ngơi terminal trong VScode hoặc trong cửa sổ cmd chúng ta gõ cho mình node index.js. Và để xem nó crawl dữ liệu ra sao nha.

Vậy là dứt rồi nha, những bạn có thể tham khảo code mà tôi đã push lên github trên đây 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 ước muốn sau bài topic này các bạn có thể biết và gọi thêm về puppeteer, từ bỏ topic này những bạn cũng có thể không ngừng mở rộng thêm phát minh mới. Và hoàn toàn có thể tự tay mình làm gần như project không nhất thiết phải quá quan trọng tuy nhiên nó do chính các bạn có tác dụng thì cũng coi như thể thành quả này vào quá trình bạn học được.

Xem thêm: Download Chiến Dịch Huyền Thoại 2020 Phiên Bản Mới Cho Android, Ios

Nếu chúng ta Cảm Xúc bài viết của mình hay thì những bạn cũng có thể ủng hộ bản thân để bản thân có thêm động lực để ra đa số bài topic giỏi với quality hơn cỗ vũ bản thân trên phía trên nha.


Chuyên mục: Tin Tức