Hướng dẫn node js get html from url - nút js lấy html từ url

Làm thế nào tôi có thể tải xuống nội dung của một URL trong nút khi sử dụng Khung Express? Về cơ bản, tôi cần hoàn thành luồng xác thực Facebook, nhưng tôi không thể làm điều này mà không nhận được URL OAuth Token của họ.

Thông thường, trong PHP, tôi sẽ sử dụng Curl, nhưng nút tương đương là gì?

Hỏi ngày 14 tháng 10 năm 2011 lúc 19:27Oct 14, 2011 at 19:27

Hướng dẫn node js get html from url - nút js lấy html từ url

var options = {
  host: 'www.google.com',
  port: 80,
  path: '/index.html'
};

http.get(options, function(res) {
  console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
  console.log("Got error: " + e.message);
});

http://nodejs.org/docs/v0.4.11/api/http.html#http.get

Đã trả lời ngày 14 tháng 10 năm 2011 lúc 21:36Oct 14, 2011 at 21:36

Hướng dẫn node js get html from url - nút js lấy html từ url

Chovychovychovy

68K48 Huy hiệu vàng204 Huy hiệu bạc260 Huy hiệu Đồng48 gold badges204 silver badges260 bronze badges

4

Vấn đề mà bạn sẽ ở phía trước là: một số trang web tải nội dung của nó bằng JavaScript. Do đó, bạn cần một gói, như tải sau khi mô phỏng hành vi của trình duyệt, sau đó cung cấp cho bạn nội dung HTML của URL đó.

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});

Hướng dẫn node js get html from url - nút js lấy html từ url

Sergio

28.2K10 Huy hiệu vàng83 Huy hiệu bạc130 Huy hiệu đồng10 gold badges83 silver badges130 bronze badges

Đã trả lời ngày 27 tháng 7 năm 2016 lúc 5:12Jul 27, 2016 at 5:12

Hướng dẫn node js get html from url - nút js lấy html từ url

Abdennour toumiabdennour toumiAbdennour TOUMI

79,9K36 Huy hiệu vàng233 Huy hiệu bạc241 Huy hiệu Đồng36 gold badges233 silver badges241 bronze badges

1

Sử dụng HTTP Way yêu cầu nhiều dòng mã hơn cho một trang HTML đơn giản.

Đây là một cách hiệu quả: Sử dụng yêu cầurequest

var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});

Đây là tài liệu cho yêu cầu: https://github.com/request/request


Phương pháp thứ 2 bằng cách tìm nạp với lời hứa:

    fetch('https://sitepoint.com')
    .then(resp=> resp.text()).then(body => console.log(body)) ; 

Đã trả lời ngày 23 tháng 6 năm 2018 lúc 10:50Jun 23, 2018 at 10:50

Natesh Bhatnatesh BhatNatesh bhat

Huy hiệu vàng 11K1010 gold badges74 silver badges115 bronze badges

Sử dụng mô -đun

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
1:

const http = require('http');

http.get('http://localhost/', (res) => {
    let rawHtml = '';
    res.on('data', (chunk) => { rawHtml += chunk; });
    res.on('end', () => {
        try {
            console.log(rawHtml);
        } catch (e) {
            console.error(e.message);
        }
    });
});

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
2 - Hoàn thành HTML của trang.

Tôi chỉ đơn giản hóa ví dụ từ các tài liệu chính thức.

Đã trả lời ngày 2 tháng 7 năm 2021 lúc 19:20Jul 2, 2021 at 19:20

Hướng dẫn node js get html from url - nút js lấy html từ url

SCOFIELDSCOFIELDScofield

3.6751 Huy hiệu vàng23 Huy hiệu bạc29 Huy hiệu đồng1 gold badge23 silver badges29 bronze badges

Sử dụng Axios đơn giản hơn nhiều

const axios = require("axios").default

const response = axios.get("https://google.com")

console.log(response.data)

hoặc

const axios = require("axios").default

const response = axios.get("https://google.com").then((response)=>{
console.log(response.data)
})

Đối với các tài liệu đầy đủ, bạn có thể đi qua Axios GitHub

Đã trả lời ngày 28 tháng 3 lúc 8:51Mar 28 at 8:51

Hướng dẫn node js get html from url - nút js lấy html từ url

1

Hướng dẫn node js get html from url - nút js lấy html từ url

Nhận HTML từ bất kỳ trang web nào, sử dụng Prerendering khi cần thiết.

Đặc trưng

  • Nhận đánh dấu HTML từ bất kỳ trang web nào (các ứng dụng phía máy khách).
  • Phát hiện prerendering dựa trên danh sách miền.
  • Tăng tốc quá trình chặn theo dõi quảng cáo.
  • Mã hóa phản ứng cơ thể đúng cách.

Công nghệ không đầu như Puppeteer mang đến cho chúng ta việc đánh dấu HTML từ bất kỳ trang web nào, ngay cả khi URL mục tiêu là ứng dụng phía máy khách và chúng ta cần đợi cho đến khi Dom Events bắn để nhận được đánh dấu thực sự.

Nói chung, cách tiếp cận này tốt hơn một yêu cầu nhận đơn giản từ URL mục tiêu, nhưng vì bạn cần chờ các sự kiện DOM, nên việc bảo vệ có thể chậm và trong một số kịch bản không cần thiết (các trang web sử dụng kết xuất phía máy chủ có thể được giải quyết bằng cách nhận đơn giản).

HTML-Get mang đến những điều tốt nhất của cả hai thế giới, thực hiện thuật toán sau: bring the best of both worlds, doing the following algorithm:

  • Xác định nếu URL mục tiêu thực sự cần Prerendering (bên trong nó có một danh sách các miền trang web phổ biến không cần nó).
  • Nếu nó cần Prerendering, hãy thực hiện hành động bằng công nghệ không đầu, chặn các trình theo dõi ADS yêu cầu tăng tốc quá trình, cố gắng giải quyết yêu cầu chính trong khoảng thời gian tối thiểu.
  • Nếu nó không cần Prerendering hoặc Prerendering không thành công vì bất kỳ lý do gì (ví dụ: thời gian chờ), yêu cầu sẽ được giải quyết thực hiện yêu cầu nhận.

Cài đặt

$ npm install browserless puppeteer html-get --save

Cách sử dụng

const createBrowserless = require('browserless')
const getHTML = require('html-get')

// Spawn Chromium process once
const browserlessFactory = createBrowserless()

// Kill the process when Node.js exit
process.on('exit', () => {
  console.log('closing resources!')
  browserlessFactory.close()
})

const getContent = async url => {
  // create a browser context inside Chromium process
  const browserContext = browserlessFactory.createContext()
  const getBrowserless = () => browserContext
  const result = await getHTML(url, { getBrowserless })
  // close the browser context after it's used
  await getBrowserless((browser) => browser.destroyContext())
  return result
}

getContent('https://example.com')
  .then(content => {
    console.log(content)
    process.exit()
  })
  .catch(error => {
    console.error(error)
    process.exit(1)
  })

Dòng lệnh

$ npx html-get https://example.com

API

gethtml (url, [tùy chọn])

URL

Loại bắt buộc:

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
3
Type:
var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
3

URL mục tiêu để nhận được đánh dấu HTML.

Getbrowserless

Loại bắt buộc:

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
4
Type:
var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
4

Một chức năng sẽ trả về một thể hiện không có trình duyệt để được sử dụng để tương tác với Puppeteer:

tùy chọn

PRERENDER

Loại: ________ 15 | ________ 13 Mặc định:

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
7
Default:
var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
7

Kích hoạt hoặc vô hiệu hóa Prerendering như cơ chế để nhận được đánh dấu HTML một cách rõ ràng.

Giá trị

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
8 có nghĩa là sử dụng nội bộ danh sách các trang web không cần sử dụng Prerendering theo mặc định. Danh sách này được sử dụng để tăng tốc quá trình, sử dụng chế độ
var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
9 cho các trang web này.

Xem tham số GetMode để biết thêm.

mã hóa

Loại:

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
3 Mặc định:
var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});
1
Default:
var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});
1

Mã hóa đánh dấu HTML đúng cách từ phản ứng của cơ thể.

Nó xác định mã hóa để sử dụng thư viện Node.js để chuyển đổi các tài liệu HTML của mã hóa tùy ý thành mã hóa mục tiêu (UTF8, UTF16, v.v.).

tiêu đề

Loại:

var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});
2

Các tiêu đề yêu cầu sẽ được chuyển đến quy trình tìm nạp/prerender.

GetMode

Loại:

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
4

Một đánh giá chức năng sẽ được gọi để xác định

var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});
4 liên tiếp để nhận được đánh dấu HTML từ URL mục tiêu.

Mặc định

var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});
5 là:

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
0

Gotoptions

Loại:

var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});
2

Các tiêu đề yêu cầu sẽ được chuyển đến quy trình tìm nạp/prerender.

GetMode

Loại:

var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});
2

Các tiêu đề yêu cầu sẽ được chuyển đến quy trình tìm nạp/prerender.

GetMode

Loại:

var afterLoad = require('after-load');
afterLoad('https://google.com', function(html){
   console.log(html);
});
4
Default:
    fetch('https://sitepoint.com')
    .then(resp=> resp.text()).then(body => console.log(body)) ; 
1

Một đánh giá chức năng sẽ được gọi để xác định

var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});
4 liên tiếp để nhận được đánh dấu HTML từ URL mục tiêu.

Mặc định var request = require("request"); request({uri: "http://www.sitepoint.com"}, function(error, response, body) { console.log(body); }); }); 5 là:

Gotoptions © Microlink, released under the MIT License.
Authored and maintained by Kiko Beats with help from contributors.

Theo

var request = require("request");

request({uri: "http://www.sitepoint.com"}, 
    function(error, response, body) {
    console.log(body);
  });
});
7, chuyển đối tượng cấu hình để có.

Làm cách nào để trả về tệp HTML của Node.js?

Kết xuất tệp HTML trong nút ...
Bước 1: Cài đặt Express.Tạo một thư mục mới và khởi tạo một dự án nút mới bằng lệnh sau.....
Bước 2: Sử dụng hàm sendFile ().....
Bước 3: Kết xuất HTML trong Express.....
Bước 4: Kết xuất HTML động bằng công cụ tạo khuôn ..

Làm cách nào để nhận dữ liệu Node.js từ HTML?

Nếu máy chủ nút của bạn cũng phục vụ trang HTML này, thì bạn có thể sử dụng đường dẫn tương đối để trỏ đến tuyến đường của bạn như thế này: hành động = "/xử lý dữ liệu dạng".Thẻ đầu vào lồng bên trong biểu mẫu được sử dụng để thu thập đầu vào của người dùng.Bạn phải gán thuộc tính tên cho dữ liệu của mình để bạn có thể nhận ra phần dữ liệu này trên máy chủ.action="/handle-form-data" . The input tag nested inside the form is used to collect user input. You have to assign a name property to your data so that you can recognize this piece of data on the server.

Làm thế nào để bạn liên kết Node.js với HTML?

Đối với trang HTML, chúng tôi phải sử dụng URL, vì vậy, trong mô -đun Node JS, URL URL đã được sử dụng để chúng tôi phải thêm mô -đun này vào tệp chương trình của chúng tôi.Và sau đó chúng ta có thể nhận được đường dẫn của URL yêu cầu như hình dưới đây.var url = yêu cầu ("url"); var path = url.var url=require("url"); var path=url.