123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- /* 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;
|