java爬虫监控,爬虫利器 Puppeteer实战全自动,监控登陆后页面的数据

const puppeteer = require('puppeteer');

// 等待3000毫秒

const sleep = time => new Promise(resolve => {

setTimeout(resolve, time);

})

//const url = `https://movie.douban.com/explore#!type=movie&tag=%E7%BB%8F%E5%85%B8&sort=rank&page_limit=20&page_start=0`;

const url = `http://www.xiaoyaoji.cn/dashboard`;

;(async() => {

console.log('Start visit');

// 启动一个浏览器

const brower = await puppeteer.launch({

args: ['--no-sandbox'],

//dumpio: false,

headless: true

});

const page = await brower.newPage() // 开启一个新页面

// 去豆瓣那个页面

await page.goto(url, {

waitUntil: 'networkidle2' // 网络空闲说明已加载完毕

});

//await sleep(5000);

// 点击搜索框拟人输入 鬼才会想起

const name = 'mayanjun@haowumc.com';

await page.type('.text.pristine.untouched', name, {delay: 0});

const pwd = '密码';

await page.type('.text.pristine.untouched', pwd, {delay: 1});

const inputElement = await page.$('input[type=submit]');

await inputElement.click();

await page.waitForNavigation();

console.log(page.url());

await page.goto(url, {

waitUntil: 'networkidle2' // 网络空闲说明已加载完毕

});

// 结果

const BRANDS_INFO_SELECTOR = 'div.mc.home-projects';

const result = await page.evaluate(sel => {

// 拿到页面上的jQuery

const ulList = Array.from($(sel).find('div.col-sm-2'));

const ctn = ulList.map(v => {

const title = $(v).html();

return {

title: title,

};

});

return ctn;

},BRANDS_INFO_SELECTOR);

brower.close();

console.log(result);

console.log('End visit');

// 关闭浏览器

})();

转载至链接:https://my.oschina.net/Alexmyj/blog/1919934

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值