nodejs抓取网页邮箱

用到的正则匹配还是不太准确,也并未做到在全网去搜索邮箱地址,需要先限定位置,再去匹配,总之还有很多需要处理的问题,废话不多说了,直接上代码吧,以贴吧为例(其中用到的有些工具包需要自行安装):

var express = require('express');
var superagent = require('superagent');
var cheerio = require('cheerio');
var url = require('url');
var fs = require('fs');
var eventproxy = require('eventproxy');
var ep = new eventproxy();
var app = express();
 
var getUrl = 'http://tieba.baidu.com/p/3699247110?pid=66984513696&cid=0#66984513696';
var reg = new RegExp('[a-zA-Z_0-9-.]{1,}\@([a-zA-Z_0-9]{1,}\.){1}[a-zA-Z_0-9]{1,}', "gim");
superagent.get(getUrl)
.end(function (err, sres) {
    // 常规的错误处理
    if (err) {
        return next(err);
    }
    // sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后
    // 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$`
    // 剩下就都是 jquery 的内容了
    var arr = [];
    
    var $ = cheerio.load(sres.text);
    $('.d_post_content_main .j_d_post_content').each(function (idx, element) {
        while(tem=reg.exec($(this).text())){
            arr.push(tem[0]);
        }
    });
    fs.writeFile('getEmail.txt', arr, function (err) {
        if (err) throw err;
        console.log('It\'s saved!');
    });
});

感谢看完指鹤文章,希望指鹤的文章对您有所帮助。

闲暇时,指鹤喜欢写一些文章,部分发表在了豆瓣,若是您对此感兴趣,您可以点击下面连接支持下指鹤,指鹤在此表示感谢了

绝命笔记 一封匿名信引发的追寻 迷案追凶 量子危机

Leave a Reply