可以获取头部宣传图、以及详细介绍里的图片网址,可以复制到下载器下载。使用方法:在详情页面右侧会出现一个按钮,点击获取图片网址。注意:1.如果要获取详细介绍里的图片,需要手动下拉页面,等详细介绍区域全部显示,再点击按钮。2.不会获取评论区图片。
// ==UserScript==
// @name 获取淘宝宝贝页面的图片网址
// @namespace https://github.com/xuejianxianzun/getTaoBaoImgURL
// @version 0.2
// @description 可以获取头部宣传图、以及详细介绍里的图片网址,可以复制到下载器下载。使用方法:在详情页面右侧会出现一个按钮,点击获取图片网址。注意:1.如果要获取详细介绍里的图片,需要手动下拉页面,等详细介绍区域全部显示,再点击按钮。2.不会获取评论区图片。
// @author You
// @match https://detail.tmall.com/item.htm*
// @grant none
// @run-at document-end
// ==/UserScript==
let result = new Set()
// 添加按钮
let btn = document.createElement('button')
btn.textContent = 'img url'
btn.style = `position: fixed;
right: 0;
border: none;
color: #fff;
top: 50%;
z-index: 99999;
background: rgb(255,0,54);
border-radius: 5px;
cursor: pointer;
padding: 5px 5px;`
document.body.append(btn)
btn.addEventListener('click', function() {
this.disabled = true
// 开始执行
getHeadImg()
getPostsImg()
})
// 这里获取的主要是顶部的几张预览图
function getHeadImg() {
let el = document.getElementById('J_DetailMeta')
let matchResult = el.innerHTML.match(/\/\/img\.alicdn\.com.*?(jpg|SS2)/g)
/*
不带转义符的正则:
//img.alicdn.com.*?jpg
*/
if (matchResult.length > 0) {
matchResult.forEach(imgURL => {
result.add('https:' + imgURL)
})
}
}
// 获取详细介绍里的图片
function getPostsImg() {
let postsImg = document.querySelectorAll('.content.ke-post img')
postsImg.forEach(img => {
result.add(img.src)
})
// 输出结果
for (const iterator of result.values()) {
document.writeln(iterator + '<br>')
}
}