/* eslint-disable strict */ const Service = require('egg').Service; const svgCaptcha = require('svg-captcha'); // const cheerio = require('cheerio'); // const puppeteer = require('puppeteer'); class ToolsService extends Service { // 产生验证码 async captcha() { const captcha = svgCaptcha.create({ size: 4, // 大小 fontSize: 50, // 字体大小 width: 100, // 宽 height: 40, // 高 bacground: '#cc9966', // 背景色 }); return captcha; } // 发送短信验证码 async sendmessage(ctx, app, randomstr) { const message = '【吉林省就业中心】您的验证码为:' + randomstr + ',请在30分钟内完成输入,欢迎使用吉林省智慧就业企业服务平台。'; const data = '?Id=300&Name=wwqcgh&Psw=jljyzx-wwqcgh&Message=' + message + '&Phone=' + ctx.query.mobile + '&Timestamp=0'; // const data = '?Id=300&Name=wwqcgh&Psw=jljyzx-wwqcgh&Message=' + message + '&Phone=' + phone + '&Timestamp=0'; const path = ctx.app.config.messageDir + data; const result = await app.curl(path, { method: 'GET', dataType: 'text/xml', }); return result; } async spider(ctx, app) { const url = 'http://job.ccut.edu.cn/module/getindustry?start_page=1&k=&type_id=300025&count=15&start=1&_=1564563909055'; const result = await app.curl(url, { method: 'GET', dataType: 'json', }); // const dataarray = result.data.data; // for(let i = 0;i < dataarray.length; i++){ // const dataInfo = dataarray[i]; // const info_id = dataInfo.info_id; // const path = 'http://job.ccut.edu.cn/detail/industry?menu_id=&type_id=300025&id=' + info_id; // const res = await app.curl(path, { // method: 'GET', // dataType: 'json', // }); // console.log(result.data); // const data = JSON.parse(response.data); // console.log(data); // // console.log(info_id); // // const browser = await puppeteer.launch({ // // headless: true, // 使用无头浏览器抓取 // // }); // // const page = await browser.newPage(); // // // 设置客户端 // // await page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'); // // await page.goto('http://job.ccut.edu.cn/detail/industry?menu_id=&type_id=300025&id='+info_id, { // // waitUntil: [ 'domcontentloaded' ], // // }); // // await page.screenshot({ path: 'static.png' }); // // const data = await page.evaluate(() => { // // var storage = {}; // // // 单页爬取 // // var $div = $('#data_details'); // // storage = { // // title: $div.find('.dh-tit').html(), // // time: $div.find('.dh-info').html(), // // content: $div.find('.details-content').html(), // // }; // // return storage; // // }); // //console.log(resultInfo.data.data); // } return result.data.data; // console.log(result.data.toString('utf8',0,result.data.length)); // const data = JSON.parse(result.data); // eslint-disable-next-line no-undef // const $ = cheerio.load(result); // const resultStr = []; // $('#DivInfoList').find('table').find('tr').each(function(index,ele) { // console.log(111); // var obj = {}; // obj.jobName = $(this).find('td').find('a').text(); // //obj.salary = $(this).find('.red').text(); // resultStr.push(obj); // }); // const browser = await puppeteer.launch({ // headless: true, // 使用无头浏览器抓取 // }); // const page = await browser.newPage(); // // 设置客户端 // await page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'); // await page.goto('http://job.ccut.edu.cn/module/getindustry?start_page=1&k=&type_id=300025&count=15&start=1&_=1564563909055', { // waitUntil: [ 'domcontentloaded' ], // }); // await page.screenshot({ path: 'static.png' }); // const data = await page.evaluate(() => { // var storage = []; // // 单页爬取 // var $table = $('#DivInfoList table tbody'); // if ($table.length) { // $table.find('tr').each(function (index, item) { // if (index !== 0) { // var $td = $(item).find('td'); // storage.push({ // title: $td.eq(1).find('a').html(), // time: $td.eq(2).html(), // }); // } // }); // } // return storage; // }); // console.log(data); // await browser.close(); // return JSON.stringify(data); } } module.exports = ToolsService;