当前位置: 首页 > news >正文

临沂做网站好的公司免费的推广引流软件

临沂做网站好的公司,免费的推广引流软件,邢台网站制作哪家好,餐饮品牌设计网站建设1. puppeteer 和 puppeteer-core 安装 puppeteer 会默认下载一个最新版本的 chrome 浏览器; 安装 puppeteer-core ,不会安装 chrome, 若要程序打开浏览器运行时,需手动指定电脑系统安装的 chrome 浏览器路径; 2. puppeteer-core …

在这里插入图片描述

1. puppeteer 和 puppeteer-core
安装 puppeteer 会默认下载一个最新版本的 chrome 浏览器;
安装 puppeteer-core ,不会安装 chrome, 若要程序打开浏览器运行时,需手动指定电脑系统安装的 chrome 浏览器路径

2. puppeteer-core 指定系统 chrome 浏览器路径

import puppeteer from 'puppeteer-core';
// launch 添加 executablePath 参数
await puppeteer.launch({executablePath: '/path/to/Chrome'});

查看本机 chrome路径: 在 chrome 浏览器中输入地址 chrome://version
在这里插入图片描述
3. 简单启用示例

const userAgents = [// 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',// 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',// 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36 QIHU 360SE',// 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',// 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36','Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
];// 随机选择一个 User-Agent
function getRandomUserAgent () {return userAgents[Math.floor(Math.random() * userAgents.length)];
}(async () => {// Launch the browser and open a new blank pageconst browser = await puppeteer.launch({userDataDir: './userData', // 指定存放用户数据目录headless: false, // 关闭无头模式,会打开 chrome 浏览器args: ['--start-maximized', // 窗口最大化// `--proxy-server=${proxySettings.proxy}`, // 配置代理'--no-sandbox','--disable-setuid-sandbox'], defaultViewport: { // 模式页面视图大小width: 1920,height: 1080,},devtools: true, // 打开开发者工具});try {let isLogin = falseconst page = await browser.newPage()// 设置随机 User-Agentconst userAgent = getRandomUserAgent();await page.setUserAgent(userAgent);// 从文件读取 cookiesconst cookiesJson = fs.readFileSync('qcccookies.json', 'utf8');if (cookiesJson) {const cookies = JSON.parse(cookiesJson);// 在页面加载之前设置 cookiescookies && await page.setCookie(...cookies); // 使用扩展运算符展开 cookies 数组}// 进入目标页await page.goto('https://www.baidu.com', {waitUntil: "networkidle2",})// 判断是否有账户头像,有则说明自动登录成功const userImg = await page.$('xxxxx.img')if (userImg) {isLogin = true;}/*** 登录 在页面 input 中数据内容并登录*/if (!isLogin) {// insert nameawait page.type('body > input', config.account, { delay: typeDelay });// insert pwdawait page.type('body > input', config.pwd, { delay: typeDelay });// 点击登录await page.click('body >  button')// 页面截图await page.screenshot({ path: "test2.png" })// 等待进行手动登录验证,进入页面await page.waitForNavigation({waitUntil: 'load'})// 获取当前页面的所有 cookies{const cookies = await page.cookies();console.log(cookies);// 将 cookies 转换为 JSON 字符串并保存到文件await fs.writeFileSync('qcccookies.json', JSON.stringify(cookies, null, 2));}}// 获取打开的页面栈const pages = await browser.pages();console.log(pages);// 获取最新打开的页面let newPage = nullawait new Promise((resolve) => {browser.on('targetcreated', async (target) => {if (target.opener() === page.target()) {newPage = await target.page();}});});if (newPage) {await sleep(3000)await newPage.waitForSelector('body'); // 例如等待页面加载完成// 页面存 pdfawait page.pdf({path: 'xxxx.pdf',format: 'A3',// displayHeaderFooter: true,margin: {top: '5mm',right: '5mm',bottom: '5mm',left: '5mm'}})}} catch (e) {console.error(e)} finally {// await browser.close()}})();

4. 获取 dom 中的数据

  // 在页面内执行 document.querySelector。page.$(selector)// 在页面内执行 document.querySelectorAll。page.$$(selector)// page.$// page.$$//  page.evaluateconst pageData = await page.evaluate(() => {// 获取节点容器const items = Array.from(document.querySelectorAll('#id li'));// 获取dom 文字信息return items.map(item => {return ({title: item.querySelector('.xxx a').innerText.replaceAll('/', '//'),})});});

5. 简易反反爬虫

1. 动态设置 user-agent 
page.setUserAgent(userAgent);
2. 读取 cookie 和设置 cookie
const cookies = await page.cookies()
await page.setCookie(...cookies)
3. 开启存储用户数据,登录一次,未过期时间内,下次自动登录
const browser = await puppeteer.launch({userDataDir: './userData',
})
http://www.hengruixuexiao.com/news/26905.html

相关文章:

  • 软文推广套餐手机网站seo免费软件
  • 陕西富国建设工程有限公司网站高质量外链
  • 表白网站制作在线厦门网站优化公司
  • 如何做网站店铺杭州百度百科
  • 网站建设资源steam交易链接怎么看
  • 哪个网站公司做的汽车推广软文
  • 搜索推广出价多少合适杭州上城区抖音seo有多好
  • 南通做网站ntwsd在线查网站的ip地址
  • 高端网站制作 上海软文营销文章300字
  • 劳务派遣做网站的好处网站友情链接有什么用
  • 网站广告动图怎么做的全国seo公司排名
  • 汉阳网站建设nba排名最新
  • 四川成都私人网站建设苏州关键词排名提升
  • 网站设计的建设目的外贸建站网站推广
  • 舟山 做企业网站百度免费官网入口
  • 北京网站推广怎么做百度关键词排名联系
  • 怎样做网站手机客户端seo搜索优化邵阳
  • 做网站的域名是做什么用的东莞网络推广平台
  • 力洋深圳做网站公司企业做网上推广
  • 做网站的客户在哪找百度小说搜索风云排行榜
  • 做购物网站需要什么百度怎么推广自己的网站
  • 网站开发费用无形资产平谷头条新闻
  • 可以做外链的网站平台站长工具端口查询
  • 香港网站建设展览semir森马
  • 手机网站 备案武汉seo优化顾问
  • 爱网站长尾百度怎样免费发布信息
  • 如何把网站做跳转浏览器链接关键字排名查询工具
  • 做外贸网站的都有哪些类型的公司资源链接搜索引擎
  • wordpress活动插件整站seo排名费用价格
  • 哪里有网站建站公司石家庄网络推广平台