在JavaScript中進行網頁爬蟲和數據清洗的過程通常包括以下步驟:
request
或axios
等HTTP庫來獲取網頁內容。cheerio
庫來加載和操作DOM元素,或者使用DOMParser
API。下面是一個簡單的示例,展示了如何使用axios
和cheerio
來爬取網頁內容并進行數據清洗:
const axios = require('axios');
const cheerio = require('cheerio');
// 獲取網頁內容
axios.get('https://example.com')
.then(response => {
const html = response.data;
// 加載HTML內容到cheerio
const $ = cheerio.load(html);
// 提取數據
const items = [];
$('div.item').each((index, element) => {
const title = $(element).find('h2.title').text().trim();
const price = parseFloat($(element).find('span.price').text().replace('$', '').trim());
items.push({ title, price });
});
// 清洗數據(例如,過濾價格低于100的項目)
const cleanedItems = items.filter(item => item.price >= 100);
// 輸出清洗后的數據
console.log(cleanedItems);
})
.catch(error => {
console.error('Error fetching data:', error);
});
在這個示例中,我們首先使用axios
獲取網頁內容,然后使用cheerio
解析HTML并提取所需的數據。接著,我們對提取的數據進行清洗,例如去除空白字符和轉換數據類型。最后,我們輸出清洗后的數據。這個過程可以根據實際需求進行調整,以適應不同的爬蟲任務和數據清洗需求。