一键下载商品信息
最近工作越来越离谱,先是 打印文件,这次又安排发布商品信息,给几个 某宝的链接就让发布也是醉了,现在程序员都干这些了?
没办法,安排啥干啥吧,去某宝一看商品信息不多,主要是详情图片, 而自己要发布的地方信息也差不多
所以就写了一个下载某宝信息的 脚本,拖动 保存商品信息到浏览器书签工具栏,在商品详情页面点击保存的书签即可,
具体代码如下
javascript:(function(){
/*@
* 下载淘宝、天猫商品信息
* 包括图文详情产品图片
*
* 20161028
* 简爱博客 http://www.gouji.org
**/
var rules = { /* 所有规则 */
tm: {
reg: /:\/\/detail\.tmall\.com\//, /* 网址匹配 */
title: "#J_DetailMeta h1", /* 标题选择器 */
thumb: "#J_ImgBooth", /* 缩略图 */
images: "#J_UlThumb img", /* 产品图片 */
price: ".tm-price", /* 价格 */
content: ".content", /* 图文详情 */
imgReg: /\.jpg$/ /* 详情图片图片地址匹配规则 可以留空 */
},
tb: {
reg: /:\/\/item\.taobao\.com\//,
title: ".tb-title h3",
thumb: "#J_ImgBooth",
images: "#J_UlThumb img",
price: "#J_PromoPriceNum",
content: ".content",
imgReg: /\.jpg$/
}
};
window.URL = window.URL || window.webkitURL;
var rule = !1, /* 当前规则 */
iSpider = !1, /* 是否可以抓取 */
i = {}; /* 存储返回信息 */
for(k in rules){
if(rules[k].reg.test(window.location.href)){
rule = rules[k];
break;
}
}
if(rule){
if(!iSpider){
document.body.scrollTop = 9999;
setTimeout(spider, 800);
iSpider = !0;
}
}else{
return alert("请在 天猫 或者 淘宝详情页面 使用此工具");
}
function spider(){
i.title = t(g(rule.title).innerText);
i.price = parseFloat(t(g(rule.price).innerText));
i.score = i.price * 100 + 300;
i.image = g(rule.thumb).src;
i.content = g(rule.content).innerText.replace(/(^\s+|\s+$|[ \t]+)/g, " ");
i.author = "\u7b80\u7231\u535a\u5ba2 http:\/\/www.gouji.org";
i.html = g(rule.content).innerHTML;
/* 获取所有内容 */
i.images = getImage(g(rule.images, 1));
i.content_images = getImage(g(rule.content).querySelectorAll("img"));
text = [i.author,"","\u6807\u9898",i.title,"","\u4ef7\u683c",i.price,"","\u7f29\u7565\u56fe",i.image,"","\u4ea7\u54c1\u56fe\u7247",i.images.join("\r\n"),"","\u8be6\u60c5\u56fe\u7247",i.content_images.join("\r\n"),"","\u7eaf\u6587\u7b80\u4ecb",i.content,"","\u56fe\u6587\u8be6\u60c5",i.html].join("\r\n");
download(text, i.title +".txt");
download(JSON.stringify(i), i.title +".json");
download(i.image, i.title +".jpg", true);
for(k in i.content_images){download(i.content_images[k], i.title +"--content_"+ k +".jpg", true);}
for(k in i.images){download(i.images[k], i.title +"---"+ k +".jpg", true);}
}
function g(q, s){return s ? document.querySelectorAll(q) : document.querySelector(q);}
function t(q){return (q+"").replace(/(^\s+|\s+$)/g, "");}
/* 下载指定内容 内容, 保存文件名, URL 文件是否强制命名 (资源在同域名 或者 支持跨域) */
function download(t, n){
if(!t || !n){
return false;
}
if(/^https{0,1}:\/\/.+$/.test(t)){
url = t;
}else{
blob = new Blob([t], {type:"text/html"});
url = window.URL.createObjectURL(blob);
}
a = document.createElement("a");
a.href = url;
a.download = n;
a.click();
}
/* 通过 dom 元素返回 图片地址 */
function getImage(images){
var img_map = {}, _imgs = [];
imgAtr = ["data-original", "data-src", "data-ks-lazyload", "src"];
for(k in images){
image = images[k];
if(!image || !image.getAttribute){
continue;
}
for(b in imgAtr){
img = image.getAttribute(imgAtr[b]);
img = (img+"").indexOf("//") == 0 ? window.location.protocol+img : img;
if(!rule.imgReg || rule.imgReg.test(img)){
break;
}else{
img = false;
}
}
if(img && !img_map[img]){
_imgs.push(img);
img_map[img] = 1;
}
}
return _imgs;
}
})();本文出自简爱博客,转载时请注明出处及相应链接。

可以查询手机归属地
评论
[赞/]
学习站点内容中,相互交流
[哈哈/]