Skip to content

vanxizzz/fetch-html-img

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fetch-html-img

文档锚链接

1. 该库用来干什么?

通过html文本抓取图片

2. 配置描述

主配置
参数名 数据类型 必填 默认值 简单描述 举例
htmlStr String 是🐢 页面的html文本 <html>...</html>
selector String 是🐢 目标图片的css选择器 ".wrapper img"
saveDir String 是🐢 保存图片的目录,需要传绝对路径 path.resolve(__dirname , "./imgDir")
host String 是🐢 抓取网站的地址(为了防止有些图片的src没有http字符串的情况) "https://baidu.com"
setImgName Function 否⭕ 默认是随机10个字符 设置生成的图片名称模板 函数返回值就是生成的图片名称
imgNum Number 否⭕ 9999 抓取的图片数量
sortRandom Boolean 否⭕ false 是否乱序抓取页面上的图片

3. Installation安装

npm install fetch-html-img
或者
yarn add fetch-html-img

4. Usage使用案例

1.安装库
npm install fetch-html-img
或者
yarn add fetch-html-img
2.创建data.html文件,并把目标页面的html文本拷贝至data.html
3.创建fetchImg.js文件
const fs = require("fs");
const fetchImg = require("fetch-html-img")
const path = require("path")
let res =  fs.readFileSync(path.resolve("./data.html"));
res = res.toString("utf-8");
fetchImg({
    htmlStr: res,//html文本
    selector: ".imgitem .main_img",
    saveDir: path.resolve(__dirname, "./qq"),
    host: "https://www.baidu.com",
    imgNum: 5,
    sortRandom: false,
    setImgName: function(imgUrl , index){
        /* imgUrl是请求的图片名,如:http://xxx/aaa.jpg
            index是图片索引
        */
        let targetImgName = `${index}-${Math.random().toString(16).substr(2, 5)}${Math.random().toString(16).substr(2, 5)}`;
        let ext = path.extname(imgUrl);
        if (!ext) {
            ext = ".jpg"
        }
        targetImgName = `${targetImgName}${ext}`;
        return targetImgName;
    }
});
3.通过nodejs运行fetchImg.js文件(控制台输出:抓取结束才算结束)
node fetchImg.js

About

通过html文本抓取图片

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published