国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Bagaimana untuk merangkak data dari laman web dengan paging?
Bagaimana untuk merangkak data dari laman web dengan menatal tak terhingga?
Bagaimana menangani kesilapan dalam merangkak web?
Bagaimana untuk merangkak data dari laman web menggunakan AJAX?
Bagaimana untuk mempercepatkan web merangkak di node.js?
Bagaimana untuk merangkak data dari laman web menggunakan CAPTCHA?
Rumah hujung hadapan web tutorial js Mengikis web di node.js

Mengikis web di node.js

Feb 24, 2025 am 08:53 AM

Web Scraping in Node.js

mata teras

    Node.js 'Crawling Web melibatkan memuat turun kod sumber dari pelayan jauh dan mengekstrak data daripadanya.
  • Modul cheerio request melaksanakan subset jQuery yang boleh membina dan menghuraikan dom dari rentetan HTML, tetapi sukar untuk menangani HTML yang tidak berstruktur.
  • menggabungkan cheerio dan
  • boleh membuat crawler web lengkap untuk mengekstrak unsur -unsur tertentu laman web, tetapi mengendalikan kandungan dinamik, mengelakkan larangan, dan mengendalikan laman web yang memerlukan log masuk atau menggunakan CAPTCHA akan lebih rumit dan mungkin memerlukan Alat atau strategi tambahan.
  • request cheerio Crawler Web adalah perisian yang mengakses halaman web dan mengekstrak data dari mereka. Oleh kerana isu -isu seperti pertindihan kandungan, Web merangkak adalah topik yang agak kontroversial. Kebanyakan pemilik laman web lebih suka mengakses data mereka melalui API yang tersedia secara umum. Malangnya, banyak laman web menawarkan kualiti API yang lemah dan tidak ada API sama sekali. Ini memaksa ramai pemaju untuk beralih ke web merangkak. Artikel ini akan mengajar anda cara melaksanakan crawler web anda sendiri di Node.js. Langkah pertama dalam merangkak web adalah untuk memuat turun kod sumber dari pelayan jauh. Dalam "Membuat Permintaan HTTP di Node.js", pembaca belajar bagaimana menggunakan halaman muat turun modul
  • . Contoh berikut dengan cepat mengkaji cara membuat permintaan mendapatkan di Node.js.

request Langkah kedua di Web Crawling, yang juga merupakan langkah yang lebih sukar, adalah untuk mengekstrak data dari kod sumber yang dimuat turun. Di sisi pelanggan, tugas ini dapat dicapai dengan mudah menggunakan perpustakaan seperti API pemilih atau jQuery. Malangnya, penyelesaian ini bergantung kepada andaian bahawa DOM boleh ditanya. Malangnya, Node.js tidak menyediakan DOM. Atau adakah ada?

var request = require("request");

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

Modul Cheerio

Walaupun node.js tidak mempunyai DOM terbina dalam, terdapat beberapa modul yang boleh membina DOM dari rentetan kod sumber HTML. Dua modul DOM yang popular adalah dan

. Artikel ini memberi tumpuan kepada

, yang boleh dipasang menggunakan arahan berikut: cheerio jsdom Modul cheerio

melaksanakan subset jQuery, yang bermaksud banyak pemaju boleh bermula dengan cepat. Malah,
npm install cheerio
sangat mirip dengan jQuery, dan mudah untuk mendapati diri anda cuba menggunakan fungsi jQuery yang tidak dilancarkan dalam

. Contoh berikut menunjukkan cara menghuraikan rentetan HTML menggunakan cheerio. Baris pertama akan mengimport cheerio ke dalam program. cheerio Pembolehubah menjimatkan serpihan HTML untuk dihuraikan. Pada baris 3, HTML HTML menggunakan cheerio. Hasilnya diberikan kepada pembolehubah cheerio. Tanda dolar dipilih kerana ia secara tradisinya digunakan dalam jQuery. Baris 4 menggunakan pemilih gaya CSS untuk memilih elemen <code>html . Akhirnya, gunakan kaedah cheerio untuk mencetak HTML dalaman senarai. $

var request = require("request");

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

Had

berada di bawah pembangunan aktif dan sentiasa bertambah baik. Walau bagaimanapun, ia masih mempunyai beberapa batasan. cheerio Aspek yang paling mengecewakan ialah parser HTML. Parsing HTML adalah masalah yang sukar, dan terdapat banyak laman web yang mengandungi HTML yang buruk. Walaupun cheerio tidak akan terhempas di halaman ini, anda mungkin mendapati diri anda tidak dapat memilih elemen. Ini menjadikan sukar untuk menentukan sama ada ralat adalah pemilih atau halaman itu sendiri. cheerio

Crawl Jspro

Contoh berikut menggabungkan

dan request untuk membina crawler web yang lengkap. Contoh crawler ini mengekstrak tajuk dan URL semua artikel di laman utama JSPRO. Dua baris pertama mengimport modul yang diperlukan ke dalam contoh. Muat turun kod sumber laman utama JSPRO dari baris 3 hingga 5. Kemudian lulus kod sumber ke cheerio untuk parsing. cheerio

npm install cheerio
Jika anda melihat kod sumber JSPRO, anda akan melihat bahawa setiap tajuk pos adalah pautan yang terkandung dalam elemen

dengan kelas entry-title. Pemilih dalam baris 7 memilih semua pautan artikel. Kemudian gunakan fungsi <a></a> untuk melangkah melalui semua artikel. Akhirnya, tajuk artikel dan URL diperolehi dari teks pautan dan each() sifat, masing -masing. href

Kesimpulan

Artikel ini menunjukkan kepada anda cara membuat crawler web yang mudah di Node.js. Perhatikan bahawa ini bukan satu -satunya cara untuk merangkak halaman web. Terdapat teknologi lain, seperti menggunakan pelayar tanpa kepala, yang lebih berkuasa tetapi boleh menjejaskan kesederhanaan dan/atau kelajuan. Sila ikuti artikel yang akan datang mengenai penyemak imbas tanpa kepala Phantomjs.

node.js Web Crawling FAQ (FAQ)

Bagaimana menangani kandungan dinamik dalam merangkak web Node.js?

Mengendalikan kandungan dinamik dalam node.js boleh menjadi agak rumit kerana kandungan dimuatkan secara asynchronously. Anda boleh menggunakan perpustakaan seperti dalang, yang merupakan perpustakaan node.js yang menyediakan API peringkat tinggi untuk mengawal krom atau kromium melalui protokol DevTools. Puppeteer berjalan dalam mod tanpa kepala secara lalai, tetapi boleh dikonfigurasikan untuk menjalankan krom atau kromium penuh (tidak berkepala) atau kromium. Ini membolehkan anda merangkak kandungan dinamik dengan mensimulasikan interaksi pengguna.

Bagaimana untuk mengelakkan diharamkan apabila merangkak laman web?

Jika laman web mengesan lalu lintas yang tidak normal, perayap web kadang -kadang boleh menyebabkan IP anda diharamkan. Untuk mengelakkan ini, anda boleh menggunakan teknik seperti berputar alamat IP anda, menggunakan kelewatan, dan juga menggunakan API merangkak yang secara automatik mengendalikan isu -isu ini.

Bagaimana untuk merangkak data dari laman web yang anda perlukan untuk log masuk?

Untuk merangkak data dari laman web yang anda perlukan untuk log masuk, anda boleh menggunakan dalang. Puppeteer boleh mensimulasikan proses log masuk dengan mengisi borang log masuk dan menyerahkannya. Sebaik sahaja log masuk, anda boleh menavigasi ke halaman yang anda mahu dan merangkak data.

Bagaimana untuk menyimpan data merangkak ke pangkalan data?

Selepas merangkak data, anda boleh menggunakan klien pangkalan data pangkalan data pilihan anda. Sebagai contoh, jika anda menggunakan MongoDB, anda boleh menggunakan klien MongoDB Node.js untuk menyambung ke pangkalan data anda dan simpan data.

Bagaimana untuk merangkak data dari laman web dengan paging?

Untuk merangkak data dari laman web dengan paging, anda boleh menggunakan gelung untuk melayari halaman. Dalam setiap lelaran, anda boleh merangkak data dari halaman semasa dan klik butang halaman seterusnya untuk menavigasi ke halaman seterusnya.

Bagaimana untuk merangkak data dari laman web dengan menatal tak terhingga?

Untuk merangkak data dari laman web dengan menatal tak terhingga, anda boleh menggunakan dalang untuk mensimulasikan menatal ke bawah. Anda boleh menggunakan gelung untuk menatal ke bawah secara berterusan sehingga data baru tidak lagi dimuatkan.

Bagaimana menangani kesilapan dalam merangkak web?

Pengendalian ralat adalah penting dalam merangkak web. Anda boleh menggunakan blok percubaan untuk mengendalikan kesilapan. Di blok tangkapan, anda boleh log mesej ralat, yang akan membantu anda menyahpepijat masalah.

Bagaimana untuk merangkak data dari laman web menggunakan AJAX?

untuk merangkak data dari laman web yang menggunakan Ajax, anda boleh menggunakan dalang. Puppeteer boleh menunggu panggilan Ajax diselesaikan dan kemudian ambil data.

Bagaimana untuk mempercepatkan web merangkak di node.js?

Untuk mempercepatkan web merangkak, anda boleh menggunakan teknik seperti pemprosesan selari untuk membuka beberapa halaman dalam tab yang berbeza dan ambil data dari mereka pada masa yang sama. Walau bagaimanapun, berhati -hati untuk tidak membebankan laman web dengan terlalu banyak permintaan kerana ini boleh menyebabkan IP anda diharamkan.

Bagaimana untuk merangkak data dari laman web menggunakan CAPTCHA?

merangkak data dari laman web yang menggunakan CAPTCHA boleh mencabar. Anda boleh menggunakan perkhidmatan seperti 2Captcha, yang menyediakan API untuk menyelesaikan Captcha. Walau bagaimanapun, ingat bahawa dalam beberapa kes, ini boleh menjadi haram atau tidak bermoral. Sentiasa menghormati syarat perkhidmatan laman web.

Atas ialah kandungan terperinci Mengikis web di node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Java vs JavaScript: Membersihkan kekeliruan Java vs JavaScript: Membersihkan kekeliruan Jun 20, 2025 am 12:27 AM

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

Komen JavaScript: Penjelasan ringkas Komen JavaScript: Penjelasan ringkas Jun 19, 2025 am 12:40 AM

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Bagaimana untuk bekerja dengan tarikh dan masa di JS? Bagaimana untuk bekerja dengan tarikh dan masa di JS? Jul 01, 2025 am 01:27 AM

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju Jun 20, 2025 am 12:21 AM

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

Kenapa anda harus meletakkan tag  di bahagian bawah ? Kenapa anda harus meletakkan tag di bahagian bawah ? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript: Meneroka jenis data untuk pengekodan yang cekap JavaScript: Meneroka jenis data untuk pengekodan yang cekap Jun 20, 2025 am 12:46 AM

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Apakah peristiwa yang menggelegak dan menangkap di Dom? Apakah peristiwa yang menggelegak dan menangkap di Dom? Jul 02, 2025 am 01:19 AM

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Apa perbezaan antara Java dan JavaScript? Apa perbezaan antara Java dan JavaScript? Jun 17, 2025 am 09:17 AM

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.

See all articles