【发布时间】:2022-01-13 15:05:24
【问题描述】:
当我得到大量 HTML 代码时,使用 mailparser 如何将它们转换为 DOM 元素?我想访问特定的 HTML 元素。
这是我的代码:
var imaps = require('imap-simple');
const _ = require('lodash');
const simpleParser = require('mailparser').simpleParser;
const cheerio = require('cheerio');
var config = {
imap: {
user: 'xxx',
password: 'xxx',
host: 'xxx',
port: 993,
tls: true,
authTimeout: 4000
}
};
imaps.connect(config).then(function (connection) {
return connection.openBox('INBOX').then(function () {
var searchCriteria = [
'UNSEEN'
];
var fetchOptions = {
bodies: ['HEADER', 'TEXT', ''],
};
return connection.search(searchCriteria, fetchOptions).then(function (messages) {
messages.forEach(function (item) {
var all = _.find(item.parts, { "which": "" })
var id = item.attributes.uid;
var idHeader = "Imap-Id: "+id+"\r\n";
simpleParser(idHeader+all.body, (err, mail) => {
if (mail.subject.indexOf('example.com') > -1) {
var dom = mail.html;
const $ = cheerio.load(mail.html);
var testing = $('span')[0].text();
} else {
//return false;
}
});
});
});
});
});
我试过用cheerio,但没有运气。如何访问每个 HTML 元素?
谢谢。
【问题讨论】:
标签: javascript node.js cheerio email-parsing