简单快速的抓取微博各种晒图比赛图片地址
微博经常发车,但图片不容易保存,教大家一个半自动的方法,就是先把整个页面图片都加载完,需要手动点击加载更多,直到加载完所有评论,在打开浏览器的审查元素功能的控制台,在console中贴入这段代码。
以Chrome浏览器为例,其他智能浏览器参照操作。
旧版微博打开页面,如:https://weibo.com/5849374533/L3ac79j8L
先把整个页面加载完,手动点击加载更多,直到加载完所有评论。
浏览器按F12,呼出控制台,切换到console,在下方光标处粘贴代码:
(function getUrl() {
let imgs = document.querySelectorAll(\".list_li li > img\");
const urls = [];
for (let index = 0; index < imgs.length; index++) {
urls.push(imgs[index].src.replace(\"thumb180\", \"large\"));
}
copy(urls);
return urls;
})();
就会得到所有评论中的图片地址,已经自动复制到剪切板了,可以直接粘贴到迅雷或者其他的下载工具中批量下载。
12月17日更新一下微博大赛的下载代码
加了自动滚动,定时每1s滚动一次,如果电脑配置低或者网速不好,可以自己调整时间,调整time参数就行。
window._cc = copy;
let time = 1000; // 这里可以调整时间,1s=1000,2s=2000
const timer = setInterval(() => {
const scrollingElement = document.scrollingElement || document.body;
scrollingElement.scrollTop = scrollingElement.scrollHeight;
cardmore = document.querySelector(\".WB_cardmore\");
if (cardmore) {
clearInterval(timer);
const myVar = setInterval(function () {
cardmore.click();
const scrollingElement =
document.scrollingElement || document.body;
scrollingElement.scrollTop = scrollingElement.scrollHeight;
cardmore = document.querySelector(\".WB_cardmore\");
if (!cardmore) {
clearInterval(myVar);
let imgs = document.querySelectorAll(\".list_li li > img\");
const urls = [];
for (let index = 0; index < imgs.length; index++) {
urls.push(imgs[index].src.replace(\"thumb180\", \"large\"));
}
window.urls = urls;
window._cc(urls);
}
}, time);
}
}, time);

THE END

