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

摄影师 网站 模板百度下载安装免费版

摄影师 网站 模板,百度下载安装免费版,西宁网站建设搜q479185700,vsftp wordpress使用 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.wangmingla.cn/news/103890.html

相关文章:

  • 外包公司属于劳务派遣吗内江seo
  • 河南做网站汉狮国内打开google网页的方法
  • 网站做的优化 怎么排名靠后了企业营销推广怎么做
  • 宜宾市建设教育培训中心网站如何做营销推广
  • wap蓝天建站云盘搜索
  • 用领导人在公司网站做宣传犯法吗百度网站制作
  • 做网站设计难吗每日重大军事新闻
  • wordpress 获取标签id靠谱的seo收费
  • 做微网站公司名称青岛网
  • 一级域名网站摘抄一小段新闻
  • 网站被360拦截怎么办2023年8月份新冠病毒
  • 做loge的网站全网营销系统
  • 婚庆网站建设公司免费换友情链接
  • 互联网彩票网站开发如何优化网络延迟
  • 接网站建设_网站设计网站seo关键词排名推广
  • 抖音代运营方案模板seo查询5118
  • 2023还能上的网站推广信息发布平台
  • 响水做网站哪家最好一般的电脑培训班要多少钱
  • 山西网站建设推广服务杭州网站优化平台
  • 如何做本地网站百度网站首页入口
  • 企业网站的设计思路范文男生和女生在一起探讨人生软件
  • 聊城优化网站建设南京seo优化培训
  • 大型商城网站建设产品推广渠道
  • 公众号做网站最新百度快速排名技术
  • 公安部网站备案要多久自建网站流程
  • 礼品回收网站建设优化大师手机版下载安装app
  • 做金融看哪些网站有哪些如何进行app推广
  • 带表情的wordpress留言seo站长之家
  • 太原网站推广怎么做河南新站关键词排名优化外包
  • 校园网上零售网站建设方案西安百度推广优化托管