UserScript-获取图片链接脚本
前段时间研究了Python、Shell脚本爬虫,发现都得模拟浏览器访问然后爬取源码,后来脑洞大开,直接写个油猴脚本,直接获取当前源码并且提取图片链接,可以无视任何质询验证就获取图片链接。
注:因为用手机基于UserScript开发,并且UserScript是专门适应手机浏览器使用油猴脚本开发的,原理上讲,电脑应该也能用,不过我没有测试,嘻嘻嘻。
源码:
废话不多说,直接上代码:
请尊重我的劳动成果,禁止用于商业售卖,转发请标明来源。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
(function() { 'use strict';
let startX, startY; const floatingButton = document.createElement('div'); floatingButton.style.position = 'fixed'; floatingButton.style.top = '50%'; floatingButton.style.left = '10px'; floatingButton.style.transform = 'translateY(-50%)'; floatingButton.style.width = '50px'; floatingButton.style.height = '50px'; floatingButton.style.background = '#007bff'; floatingButton.style.color = '#fff'; floatingButton.style.borderRadius = '50%'; floatingButton.style.textAlign = 'center'; floatingButton.style.lineHeight = '50px'; floatingButton.style.cursor = 'pointer'; floatingButton.style.zIndex = '99999'; floatingButton.textContent = '提取';
let isProcessing = false;
floatingButton.addEventListener('touchstart', function(e) { const touch = e.touches[0]; startX = touch.clientX - floatingButton.getBoundingClientRect().left; startY = touch.clientY - floatingButton.getBoundingClientRect().top; });
floatingButton.addEventListener('touchmove', function(e) { e.preventDefault(); const touch = e.touches[0]; floatingButton.style.left = (touch.clientX - startX) + 'px'; floatingButton.style.top = (touch.clientY - startY) + 'px'; });
floatingButton.addEventListener('click', function() { if (isProcessing) return; isProcessing = true;
const imageLinks = Array.from(document.querySelectorAll('img')) .map(image => image.src) .filter(src => src);
const linkText = imageLinks.join('\n'); const blob = new Blob([linkText], { type: 'text/plain' }); const url = URL.createObjectURL(blob); const pageUrl = window.location.href; const sanitizedPageUrl = pageUrl.replace(/[^a-zA-Z0-9]/g, '_').slice(0, 50); const fileName = `${sanitizedPageUrl}_image_links.txt`;
const downloadLink = document.createElement('a'); downloadLink.href = url; downloadLink.download = fileName; downloadLink.style.display = 'none'; document.body.appendChild(downloadLink); downloadLink.click();
const notification = document.createElement('div'); notification.textContent = '正在下载...'; document.body.appendChild(notification);
setTimeout(() => { document.body.removeChild(downloadLink); URL.revokeObjectURL(url); document.body.removeChild(notification); isProcessing = false; }, 100); });
document.body.appendChild(floatingButton); })();
|
之前更新了很多版本,这里就不拿出来丢人了。
后记:
代码写好了不发得发个文章让大家都能用?不是吗?
代码本无害,请合法使用,不要非法爬取网站图片。
优点有一些:方便,爬取后直接打包txt下载、可以无视爬虫验证
完结撒花
注:以上内容仅供学习交流使用,禁止用于非法目的。请自觉遵守法律规定。本网站所有内容仅限于学习交流和娱乐,任何非法用途均由使用者个人承担责任。
鸣心/Write