Trình quét web Javascript GitHub

Danh sách này chứa các thư viện JavaScript liên quan đến quét web và xử lý dữ liệu. Nội dung của danh sách đó tập trung vào các lib có thể chạy trong nodejs (không có trình duyệt web thực)

Mạng

  • yêu cầu - Ứng dụng khách yêu cầu HTTP được đơn giản hóa
  • vớ5-http-client - Triển khai ứng dụng khách HTTP SOCKS v5 trong JavaScript dành cho Nút. js
  • phần còn lại - Máy khách HTTP RESTful cho JavaScript
  • xác tàu - Tiện ích máy khách HTTP
  • got - Các yêu cầu HTTP được đơn giản hóa
  • tìm nạp nút - Một mô-đun trọng lượng nhẹ mang đến cửa sổ. tìm nạp tới nút. js
  • bent - Máy khách HTTP chức năng cho Node. js w/không đồng bộ/chờ đợi
  • axios - Máy khách HTTP dựa trên lời hứa cho trình duyệt và nút. js
  • siêu đại lý - Ajax cho nút. js và trình duyệt (máy khách HTTP JS)
  • urllib - Yêu cầu (các) URL HTTP trong một thế giới phức tạp
  • needle - Máy khách HTTP linh hoạt, có thể phát trực tuyến cho Node. js. Với proxy, iconv, cookie, giảm phát và hỗ trợ nhiều phần

Web-Scraping Frameworks

  • webparsy - lib và cli của NodeJS để quét các trang web bằng Puppeteer và YAML
  • trình thu thập thông tin nút - Trình thu thập thông tin web/Spider cho NodeJS + jQuery phía máy chủ
  • node-simplecrawler - Trình thu thập thông tin theo sự kiện linh hoạt dành cho nút
  • Crawlee - Nút. js và TypeScript thu thập dữ liệu với Cheerio, JSDOM, Playwright và Puppeteer đồng thời cải thiện chúng bằng các tính năng chống chặn, hàng đợi, kho lưu trữ, v.v.
  • Ayakashi - Khung quét web thế hệ tiếp theo. Có tất cả các công cụ cần thiết để tạo ra các hệ thống cạo và tự động hóa đáng tin cậy và có thể bảo trì
  • pjscrape - Khung quét web được viết bằng Javascript, sử dụng PhantomJS và jQuery

Phân tích cú pháp HTML/XML

  • Tổng quan
    • parse5 - Bộ công cụ tuần tự hóa/phân tích cú pháp HTML5 tuân thủ thông số kỹ thuật WHATWG HTML5, nhanh chóng và sẵn sàng cho sản xuất cho Node và io. js
    • htmlparser2 - bỏ qua trình phân tích cú pháp html và xml
    • sax-js - Trình phân tích kiểu sax cho JS
    • cổ vũ - Triển khai jQuery lõi nhanh chóng, linh hoạt và tinh gọn được thiết kế dành riêng cho máy chủ
  • vệ sinh
    • js-xss - Vệ sinh HTML không đáng tin cậy (để ngăn XSS) với cấu hình được chỉ định bởi Danh sách trắng
    • bác sĩ phẫu thuật - Trình đánh giá biểu thức trích xuất DOM khai báo

Xử lý văn bản

Thư viện để phân tích cú pháp và thao tác văn bản thuần túy

  • Tổng quan
    • sợi dây. js - Các phương thức chuỗi JavaScript bổ sung
    • kế toán. js - Thư viện JavaScript nhẹ để định dạng số, tiền và tiền tệ - hoàn toàn có thể bản địa hóa, không phụ thuộc
    • trình xác nhận. js - Xác thực và khử trùng chuỗi
  • Ngày và giờ
    • khoảnh khắc - Phân tích cú pháp, xác thực, thao tác và hiển thị ngày trong javascript
      • moment-timezone - Hỗ trợ múi giờ cho thời điểm. js
    • ngày - Ngày () cho con người
    • bệnh đa xơ cứng. js - Tiện ích chuyển đổi mili giây nhỏ
  • thực thể HTML
    • he - Bộ mã hóa/giải mã thực thể HTML mạnh mẽ được viết bằng JavaScript
  • Tiền bạc
    • tiền bạc. js - Thư viện JavaScript nhỏ và đơn giản để chuyển đổi tiền tệ theo thời gian thực và tính toán tỷ giá hối đoái, từ bất kỳ loại tiền tệ nào sang bất kỳ loại tiền tệ nào
  • Màu sắc
    • sắc độ. js - Thư viện JavaScript cho tất cả các loại thao tác màu
    • color - Thư viện thao tác và chuyển đổi màu JavaScript
    • TinyColor - Thao tác và chuyển đổi màu nhanh, nhỏ cho JavaScript
  • Đại lý người dùng
    • UAParser. js - Trình phân tích chuỗi tác nhân người dùng dựa trên JavaScript nhẹ. Hỗ trợ trình duyệt và nút. môi trường js
  • Phiên bản ngữ nghĩa
    • node-semver - Trình phân tích cú pháp semver cho nút

Xử lý định dạng cụ thể

Thư viện để phân tích cú pháp và thao tác các định dạng văn bản cụ thể

  • Tổng quan
    • jBinary - I/O cấp cao (tải, phân tích cú pháp, thao tác, tuần tự hóa, lưu) cho các tệp nhị phân với cú pháp khai báo để mô tả các loại tệp và cấu trúc dữ liệu
  • Văn phòng
    • js-xlsx - XLSX / XLSM / XLSB / XLS / Bảng tính ML (Bảng tính Excel) / Trình phân tích cú pháp và trình ghi ODS
  • CSV
    • BabyParse - Trình phân tích cú pháp CSV nhanh và đáng tin cậy dựa trên Papa Parse. Papa Parse dành cho trình duyệt, Baby Parse dành cho Node. js
    • CSV - Bộ mã hóa và phân tích cú pháp CSV đơn giản, cực nhanh. Tuân thủ đầy đủ RFC 4180
  • JSON
    • json3 - Một triển khai JSON hiện đại tương thích với gần như tất cả các nền tảng JavaScript
  • EXIF
    • exif-js - Thư viện JavaScript để đọc siêu dữ liệu hình ảnh EXIF
  • CSS
    • parse-css - Trình phân tích cú pháp CSS dựa trên tiêu chuẩn
    • parser-lib Trình phân tích cú pháp CSS - Trình phân tích cú pháp CSS ParserLib là một trình phân tích cú pháp lấy cảm hứng từ CSS3 SAX được viết bằng JavaScript. Theo mặc định, trình phân tích cú pháp chỉ xử lý cú pháp CSS tiêu chuẩn và không thực hiện xác thực (kiểm tra tên và giá trị thuộc tính)
  • torrent
    • parse-torrent - Phân tích cú pháp định danh torrent (nam châm uri,. tệp torrent, hàm băm thông tin)
  • SQL
    • Trình phân tích cú pháp SQL - SQL Parser là trình phân tích từ vựng, ngữ pháp và phân tích cú pháp cho SQL được viết bằng JS. Hiện tại, nó chỉ có khả năng phân tích các truy vấn CHỌN khá cơ bản
  • YAML
    • JS-YAML - Trình kết xuất và trình phân tích cú pháp JavaScript YAML. Rất nhanh
  • đánh dấu
    • markdown-it - Trình phân tích cú pháp Markdown, được thực hiện đúng. Hỗ trợ 100% CommonMark, tiện ích mở rộng, plugin cú pháp & tốc độ cao
  • nguyên tử/RSS
    • node-feedparser - Phân tích cú pháp nguồn cấp dữ liệu RSS, Atom và RDF mạnh mẽ trong Node. js
  • Dấu trang Netscape (Firefox, Google Chrome,. )
    • node-bookmarks-parser - Phân tích cú pháp tệp dấu trang Firefox/Chrome HTML

Xử lý ngôn ngữ tự nhiên

Thư viện để làm việc với ngôn ngữ của con người

  • Tổng quan
    • tự nhiên - cơ sở ngôn ngữ tự nhiên chung cho nút
    • nlp_compromise - xử lý ngôn ngữ tự nhiên
    • Hanzi - HanziJS là một ký tự tiếng Trung và mô-đun NLP để xử lý ngôn ngữ tiếng Trung cho Node. js
    • nổi bật - Bộ công cụ học máy, xử lý ngôn ngữ tự nhiên và phân tích tình cảm cho nút. js
    • nút tóm tắt - Mô-đun nút tóm tắt văn bản bằng thuật toán tóm tắt ngây thơ
  • gốc
    • snowball-js - triển khai javascript của thuật toán nlp bắt đầu từ snowball phổ biến
    • porter-stemmer - Trình tạo gốc của Martin Porter cho nút. js
    • Porter-Stemmer - Triển khai Javascript của Porter Stemmer
    • lunr-languages ​​- một bộ sưu tập các ngôn ngữ gốc và từ khóa cho thư viện Lunr Javascript
  • Phát hiện ngôn ngữ
    • franc - Phát hiện ngôn ngữ tự nhiên
    • đoánNgôn ngữ. js - Thư viện phát hiện ngôn ngữ tự nhiên dựa trên phân tích thống kê trigram cho Node. js

Tự động hóa và mô phỏng trình duyệt

  • phantomjs - WebKit không đầu có thể viết được
  • slimerjs - Một công cụ giống PhantomJS chạy Gecko
  • casperjs - Tiện ích kiểm tra & kịch bản điều hướng cho PhantomJS và SlimerJS
  • zombie - Thử nghiệm trình duyệt không đầu, full-stack, cực kỳ nhanh bằng cách sử dụng nút. js
  • cơn ác mộng - Nightmare là trình bao bọc cấp cao cho PhantomJS cho phép bạn tự động hóa các tác vụ của trình duyệt
  • con rối - Puppeteer là thư viện Node cung cấp API cấp cao để kiểm soát Chrome hoặc Chromium không đầu qua Giao thức DevTools. Nó cũng có thể được định cấu hình để sử dụng Chrome hoặc Chromium đầy đủ (không đầu)
  • headless-chrome-crawler - Trình thu thập thông tin phân tán được cung cấp bởi Headless Chrome
  • trình ghi con rối - Trình ghi con rối là một tiện ích mở rộng của Chrome ghi lại các tương tác trình duyệt của bạn và tạo tập lệnh Puppeteer
  • wendigo - Trình duyệt không đầu theo định hướng thử nghiệm, được xây dựng trên Puppeteer
  • Nhà viết kịch - Node. js để tự động hóa Chromium, Firefox và WebKit bằng một API duy nhất

đa xử lý

  • nexect - sinh ra và kiểm soát các tiến trình con trong nút. js một cách dễ dàng
  • respawn - Tạo ra một tiến trình và khởi động lại nó nếu nó gặp sự cố
  • node-webworker - Triển khai WebWorkers cho NodeJS

không đồng bộ

Thư viện cho lập trình mạng không đồng bộ

  • ổ cắm. io - Khung ứng dụng thời gian thực (Node. máy chủ JS)
  • động cơ. io - Động cơ. IO là việc triển khai lớp giao tiếp hai chiều giữa nhiều trình duyệt/thiết bị chéo dựa trên phương tiện truyền tải cho Socket. IO
  • async - Tiện ích async cho nút và trình duyệt

Xếp hàng

  • kue - Kue là hàng đợi công việc ưu tiên được hỗ trợ bởi redis, được xây dựng cho nút. js
  • bull - Hàng đợi xử lý công việc nhẹ, mạnh mẽ và nhanh chóng. Được viết cẩn thận cho sự ổn định vững chắc của đá và tính nguyên tử

E-mail

Thư viện để phân tích cú pháp email

  • mailparser - Giải mã e-mail định dạng mime

URL và thao tác địa chỉ mạng

Thư viện để phân tích cú pháp/sửa đổi URL và địa chỉ mạng

  • URL
    • query-string - Phân tích cú pháp và xâu chuỗi các chuỗi truy vấn URL
    • URI. js - Thư viện đột biến URL Javascript
    • jsurl - Thao tác URL nhẹ với JavaScript
    • tranh luận. js - Trình phân tích cú pháp tham số và đối số URL nhẹ
  • Địa chỉ mạng
    • node-ip - Công cụ địa chỉ IP cho nút. js
    • địa chỉ ip - Thư viện để phân tích cú pháp và thao tác địa chỉ IPv6 (và v4) trong JavaScript

Trích xuất nội dung web

Thư viện để trích xuất nội dung trang web

  • nút đọc - Nhận nội dung có thể đọc được từ bất kỳ trang nào. Dựa trên dự án khả năng đọc của Arc90 bằng công cụ cổ vũ
  • nút-ytdl-core - Trình tải xuống video Youtube trong javascript
  • ImageResolver - Cố gắng hết sức để xác định hình ảnh chính trên một URL mà không cần tải tất cả các hình ảnh

ổ cắm web

Thư viện để làm việc với WebSocket

  • websocket. io - WebSocket. IO là bản tóm tắt của máy chủ websocket được sử dụng trước đó bởi Socket. IO. Nó có sự hỗ trợ rộng rãi nhất cho các thông số kỹ thuật/giao thức websocket và một API cho phép khả năng tương tác với các khung cấp cao hơn như Engine, Socket. Lõi thời gian thực của IO
  • WebSocket-Node - Triển khai WebSocket cho Nút. JS (Dự thảo -08 đến RFC 6455 cuối cùng)

Phân giải DNS

  • multicast-dns - Triển khai multicast-dns ở mức độ thấp trong javascript thuần túy
  • nút-dns - Mô-đun dns thay thế trong javascript thuần túy cho nút. js

Tầm nhìn máy tính

  • theo dõi. js - Một cách tiếp cận hiện đại cho Thị giác máy tính trên web
  • người dân tộc thiểu số. js - OCR trong Javascript thông qua Emscripten

Máy chủ proxy

  • toxy - Proxy HTTP có thể tấn công để mô phỏng các tình huống lỗi máy chủ và điều kiện mạng không mong muốn
  • chuỗi proxy - Nút. js triển khai máy chủ proxy (nghĩ rằng Squid) có hỗ trợ SSL, xác thực và chuỗi proxy ngược dòng

Cấu trúc dữ liệu

  • bất biến - Bộ sưu tập dữ liệu liên tục bất biến cho Javascript giúp tăng hiệu quả và tính đơn giản
  • lodash - Hỗ trợ lặp lại trên nhiều môi trường nhất quán hơn cho các đối tượng mảng, chuỗi, đối tượng và đối số

Danh sách JavaScript khác

  • tuyệt vời-javascript