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

做支付网站个人网站logo生成

做支付网站,个人网站logo生成,湖南省建设厅建筑业信息网,找哪些公司做网站使用 Puppeteer 库通过自动化浏览器来访问百度图片搜索,并在搜索结果中下载图片。代码分为两部分: 自动化浏览器任务:使用 Puppeteer 浏览百度图片搜索并获取图片 URL。图片下载:检查图片 URL 类型(base64 或 URL&…

使用 Puppeteer 库通过自动化浏览器来访问百度图片搜索,并在搜索结果中下载图片。代码分为两部分:

  1. 自动化浏览器任务:使用 Puppeteer 浏览百度图片搜索并获取图片 URL。
  2. 图片下载:检查图片 URL 类型(base64 或 URL),并保存图片到本地。

如果无法通过npm安装:

确保 Puppeteer 的下载地址已经指向淘宝镜像
set PUPPETEER_DOWNLOAD_HOST=https://npmmirror.com/mirrors 

示例: 

import puppeteer from 'puppeteer';
import http from "http";
import https from "https";
import fs from "fs";
import {promisify} from 'util';
import qs from "querystring";
import {v4} from "uuid";(async () => {const browser = await puppeteer.launch({headless: false, // 打开浏览器browser: "chrome",slowMo: 250, // slow down by 250ms// executablePath:'', // 其它浏览器打开地址});const page = await browser.newPage();await page.goto('https://image.baidu.com/');console.log('goto: https://image.baidu.com/');await page.setViewport({width: 1920, height: 1080});let count = 0;while (count < 60) {try {await page.focus('[name="word"]');break;} catch (err) {count++;await page.reload();console.log('[name="word"] selector not found, try again');}}// 通过属性获取指定input,填入搜索框文字await page.keyboard.sendCharacter('卡皮巴拉');// 等于上面两条 page.focus page.keyboard.sendCharacter// await page.type('#kw', '卡皮巴拉', { delay: 100 });await page.click('.submit-btn_ZmEXZ');// await page.reload();page.on('load', async () => {console.log('page loaded!');await page.waitForSelector('.main_img');// evaluate 中会在浏览器端运行js代码。const src = await page.evaluate(() => {const images = document.querySelectorAll('.main_img');// 在puppeteer打开的浏览器查看console.log(images);// return images.map(img => img.src);return Array.prototype.map.call(images, img => img.src);});await Promise.all(src.map(src => {console.log(src);return downloadImage(src, './image/p1/');}));await page.screenshot({path: './screenshot.png',});await browser.close();});
})();const urlToImage = (url, dir, callback) => {const mod = /^https:/.test(url) ? https : http;const ext = qs.parse(url).f.split('?').shift().toLowerCase().replace('jpeg', 'jpg');const file = `${dir}${v4()}.${ext}`;return new Promise((resolve, reject) => {mod.get(url, res => {// 使用 fs.createWriteStream 创建文件流const writeStream = fs.createWriteStream(file);// 将响应数据流管道到文件写入流res.pipe(writeStream);// 在写入完成时调用回调writeStream.on('finish', () => {console.log(file);resolve();});});});
};const base64ToImage = async (base64, dir) => {try {const matches = base64.match(/^data:(.+?);base64,(.+)$/);const ext = matches[1].split('/')[1].replace('jpeg', 'jpg');const file = `${dir}${v4()}.${ext}`;await promisify(fs.writeFile)(file, matches[2], 'base64');} catch (err) {console.log(err);}
}async function downloadImage(src, dir) {if (/data:(.+?);base64,(.+)/.test(src)) {await base64ToImage(src, dir);} else if (src.startsWith('http')) {await urlToImage(src, dir);} else {console.log('[error] download fail, unsupported image type!', src);}
}

http://www.yayakq.cn/news/22359/

相关文章:

  • 网站开发体会范文WordPress安全社区
  • 企业网站管理系统联系我们怎么添加中国电商公司100排名
  • 怎么投诉网站制作公司广西壮族自治区成立于哪一年
  • 网站的前台企业网站的主要类型
  • 学做面包网站如何保存网页上的视频
  • 中文域名网站360优化大师安卓下载
  • 网站在什么环境下做网站标题几个字合适
  • 网站建设鄂尔多斯未央微网站建设
  • 高清图片素材网站免费阜阳网站建设fywzjs
  • 阿里云认证网站建设题库2023年注册公司需要什么资料
  • 网站建设硬件支撑wordpress 注册小工具
  • 商家推广平台有哪些关键词优化公司济南兴田德润团队怎么样
  • 郑州做网站的论坛网络运营是做什么的
  • 房地产网站建设联系方式xampp搭建wordpress
  • 江西省建设招标网站能查个人信息的网站
  • 网站建设项目设计的图片淄博网站建设推广优化
  • php服装商城网站建设免费的wordpress模板下载地址
  • 网站模板助手wordpress 删除缓存
  • 域名查询网站互联网大厂一般指哪些公司
  • 宁夏建设厅网站领导title wordpress
  • 网站上怎么引用视频网站兼容视图
  • 网站建设属于资产蓝色风格的网站
  • 校园网站建设的意见wordpress微信朋友圈
  • 做网站的背景怎么做网站建设是平面设计吗
  • xml网站开发工具网络应用软件开发
  • 网站 系统 区别app设计界面
  • 在线商城网站怎么做网站设计的实例
  • 做网站挂广告赚钱犯法吗泰安建材网站建设电话
  • 做城通网盘资源网站的源码餐饮加盟什么网站建设
  • 太原本地网站搭建公司商标综合查询