const puppeteer = require('puppeteer'); const cheerio = require('cheerio') let mainurl = "http://www.taduo.net/" let gethtml = (name) => { return new Promise(async (res, rej) => { puppeteer.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] }).then(async (browser) => { const page = await browser.newPage(); await page.goto(mainurl); await page.type(".searchtext1", name); // const usernameValue = await page.$eval(".searchtext1", el => el.value); await page.click("#btnSend1") let openpages = [] setTimeout(async () => { await browser.pages().then((res) => { // console.log(res.length) openpages = res }) await openpages[2].content().then((r) => { res(r) }) // console.log(a) // await page.content().then((r)=>{ // res(r) // }) browser.close() }, 1500); }) }) } let get = async (name) => { let html; await gethtml(name).then((res) => { html = res }) // console.log(html) let $ = cheerio.load(html) let list = [] await $("#dmList ul li").each((index, ele) => { let item = cheerio.load($(ele).html(), { decodeEntities: false }) let name = item("dl dt a").html() let date = item("dl dd p").eq(0).html() let url = mainurl + item("dl dt a").attr("href") let update = item("dl dd p").eq(1).html().replace("", "").replace('', "").replace('

', "").replace("", "") date = date.replace("", "").replace('', "").replace('

', "").replace("", "") // console.log({ // date, // name, // url, // update // }) let l = { date, name, url, update } list.push(l) }) // console.log(list) return list; } module.exports = get