Contoh untuk menerangkan cara menggunakan nodejs untuk melaksanakan fungsi pengumpulan halaman web

PHPz
Lepaskan: 2023-04-06 10:53:24
asal
652 orang telah melayarinya

Dalam beberapa tahun kebelakangan ini, dengan perkembangan Internet yang berterusan, pengumpulan data telah menjadi pekerjaan yang sangat diperlukan untuk ramai orang. Antaranya, pengumpulan halaman web adalah kaedah yang agak biasa. Node.js ialah teknologi yang sangat sesuai untuk koleksi halaman web.

1. Apakah itu Node.js?

Node.js ialah persekitaran masa jalan sumber terbuka merentas platform yang boleh menggunakan JavaScript untuk menulis kod sebelah pelayan. Ia berdasarkan enjin Chrome V8, model I/O dipacu peristiwa, tidak menyekat, dan mempunyai ciri kecekapan tinggi dan ringan.

2. Kelebihan Node.js

Model I/O tanpa sekatan Node.js dan pemacu acara boleh mengendalikan permintaan serentak yang tinggi dan berskala besar. Melalui I/O tak segerak, satu utas boleh mengendalikan beribu-ribu sambungan serentak, dan kelajuan tindak balas adalah sangat pantas. Pada masa yang sama, Node.js menggunakan model satu benang, jadi tiada masalah prestasi yang disebabkan oleh penyegerakan benang. Pada masa yang sama, reka bentuk modular Node.js menjadikan kod lebih mudah dan lebih mudah untuk diselenggara.

3. Aplikasi Node.js

  1. Pembangunan aplikasi web

Node.js boleh digunakan untuk membangunkan aplikasi web berprestasi tinggi dengan cepat. Memandangkan JavaScript ialah bahasa dinamik, ia boleh diprogramkan secara dinamik dengan mudah. Ciri I/O tak segerak Node.js yang sangat baik menjadikannya sangat sesuai untuk membangunkan aplikasi web masa nyata.

  1. Pengumpulan Data

Memandangkan Node.js boleh menggunakan JavaScript untuk menulis kod sisi pelayan, ia sangat sesuai untuk pengumpulan data. Terutama untuk senario yang memerlukan merangkak sejumlah besar halaman web, ciri I/O tak segerak Node.js boleh meningkatkan kecekapan pengumpulan dengan lebih baik.

4. Kes yang sangat baik: Node.js melaksanakan koleksi halaman web

Ciri I/O tak segerak Node.js sangat sesuai untuk mengendalikan senario pengumpulan halaman web. Di sini, kita boleh menggunakan contoh praktikal untuk menunjukkan cara menggunakan Node.js untuk melaksanakan pengumpulan halaman web.

Andaikan kita perlu mengumpul maklumat produk daripada tapak web e-dagang:

  1. Pertama, kita perlu menggunakan modul permintaan untuk mengakses tapak web dan mendapatkan kandungan web.
const request = require('request');
const url = 'http://www.jd.com';
const options = {
    method: 'GET'
};
request(url, options, function(err, response, body) {
    if(err) {
        console.log(err);
    } else {
        console.log(body);
    }
});
Salin selepas log masuk
  1. Seterusnya, kita perlu menggunakan modul cheerio untuk menghuraikan kandungan halaman web. Cheerio ialah perpustakaan yang boleh mengendalikan HTML/XML seperti jQuery Ia menyediakan satu siri kaedah operasi DOM dan kaedah Traversing, yang boleh mengesan nod HTML dengan mudah.
const cheerio = require('cheerio');
const $ = cheerio.load(body);
const goodsList = $('.goods-list li');
goodsList.each(function() {
    const goodsItem = $(this);
    const goodsTitle = goodsItem.find('.goods-title').text();
    const goodsPrice = goodsItem.find('.goods-price').text();
    console.log(goodsTitle + ' ' + goodsPrice);
});
Salin selepas log masuk
  1. Akhir sekali, kami boleh menyimpan data yang dikumpul dalam pangkalan data untuk analisis dan pemprosesan seterusnya.
const mysql = require('mysql');
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'test'
});
goodsList.each(function() {
    const goodsItem = $(this);
    const goodsTitle = goodsItem.find('.goods-title').text();
    const goodsPrice = goodsItem.find('.goods-price').text();
    connection.query('INSERT INTO goods(title, price) VALUES(?, ?)', [goodsTitle, goodsPrice], function(err, result) {
        if(err) {
            console.log(err);
        }
    });
});
Salin selepas log masuk

Melalui tiga langkah di atas, kami boleh menggunakan Node.js untuk melaksanakan pengumpulan halaman web.

Ringkasan: Node.js mempunyai ciri I/O tak segerak yang sangat baik dan prestasi tinggi, menjadikannya sangat sesuai untuk pengumpulan halaman web. Untuk tapak web dan keperluan yang berbeza, kami boleh membangunkan pelbagai alatan pengumpulan halaman web melalui modul Node.js yang kaya.

Atas ialah kandungan terperinci Contoh untuk menerangkan cara menggunakan nodejs untuk melaksanakan fungsi pengumpulan halaman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!