0
當我解析一個頁面時,我得到了一些標題。每個標題必須在數據庫中檢查,如果它沒有添加到數據庫中,則執行該操作。檢入數據庫,如果沒有結果,然後添加node.js-mysql
列表示例:
test
test2
test3
test4
test2
test
test5
test4
正如你看到的,有一些重複。
我的代碼:
var $ = cheerio.load(body);
$(".program-table .item").each(function() {
var titleOriginal = $(this).find(".title-original").text().match(/(.+)\s\
var movieYear = titleOriginal[2];
var movieTitle = titleOriginal[1];
connection.query("SELECT id FROM movie WHERE name = ? AND year = ?", [movieTitle, movieYear], function(err, result) {
if (err) return;
if (result.length) {
console.log('Found, ID: %s', result[0].id);
} else {
connection.query("INSERT INTO movie SET name = ?, year = ?", [movieTitle, movieYear], function(err, result) {
if (err) return;
console.log('Not found, adding into database. ID: %s', result.insertId);
});
}
});
});
結果:當數據庫是包含標題乾淨或無記錄,該腳本將添加所有標題到數據庫副本。當我第二次開始時,它會顯示找到標題的記錄,並跳過。