微博图片拯救 — 妈妈再也不用担心图片被夹看不到啦!🤓

过了这好几年之后,总感觉自己已经从一个技术博主,变成了一个生活博主。

年龄越来越大了之后,探索能力,学习能力逐渐的下降。接受新事物的能力也日渐式微,总感觉想做一些东西而力不从心。

很多东西多年以前就知道了,但是想自己去做的时候却总感觉没什么头绪,不知道该从哪里开始。

今天又看到教主转的微博,同样原内容图片被夹了。

教主发的那个这就发挥作用了,是一张截图:

这么个东西。

至于原理,很久之前教主就大概提过,说出来也简单,就是利用cdn的缓存删除时间差,在节点未删除之前遍历所有的cdn节点去搜索图片。知道原理之后,要实现也简单,目前微博图片主要有四个域名+两个alias:

weibo_cdn_domain_list = [
    'wx1.sinaimg.cn',
    'wx2.sinaimg.cn',
    'wx3.sinaimg.cn',
    'wx4.sinaimg.cn',
    'weiboimgwx.gslb.sinaedge.com',
    'weiboimgwx.grid.sinaedge.com'
]

既然有了域名,那么也简单,通过python库直接解析所有的地址即可:

def get_ipv4_ips(domain_name):
    try:
        ipv4_addresses = []
        answers = dr.resolve(domain_name, "A")
        for rdata in answers:
            if str(rdata).startswith("192."):
                continue
            else:
                ipv4_addresses.append(str(rdata))
        return ipv4_addresses
    except Exception as e:
        print(e)
        return None


def get_ipv6_ips(domain_name):
    try:
        ipv6_addresses = []
        answers = dr.resolve(domain_name, "AAAA")
        for rdata in answers:
            if str(rdata).startswith("::"):
                continue
            else:
                ipv6_addresses.append(str(rdata))
        return ipv6_addresses
    except Exception as e:
        print(e)
        return None


def get_all_ips():
    ip_dict_list = []

    for domain in weibo_cdn_domain_list:
        ips = get_ipv4_ips(domain)
        v6_ips = get_ipv6_ips(domain)
        print(domain, ips)
        domain_ips = {
            'domain': domain,
            'ipv4': ips,
            'ipv6': v6_ips
        }
        ip_dict_list.append(domain_ips)
    return ip_dict_list

然而,这么高却也存在问题,就是拿到的ip地址都是国内解析到的,与命令查询到的一致:

四个域名加起来不多几十个ip地址,然而,仔细观察教主的图片会发现,解析出来的ip大约有2000+按照图片进度猜测。

即使加上ipv6的也远远少于教主的ip地址数量。

并且尝试下载的时候全部失败了,无法遍历到删除的文件,再次查看教主的图片,搜了下ip地址,并不是国内的:

那么,可能的原因在于,教主拿到了所有的ip地址,包括海外的,并且海外节点的删除时间会更晚,这样能找到被夹的图片的概率自然也越大。

那么直接去itdog.cn拉取所有的ip地址列表:

一个域名对应800+ip地址,那么这么看来基本跟教主的数量就能对上了。剩下的就简单了,告知思路,剩下的大家可以自由发挥了,主要代码可以暂停录像看屏幕代码:

1.将所有的域名解析为ip
2.讲ip与域名组装为:
domain_ips = {
            'domain': domain,
            'ipv4': ips,
            'ipv6': v6_ips
        }
格式。
3.遍历域名下的所有ip地址,拼接请求链接指定host。
4.针对请求数据进行处理,目前已知默认的占位符图片长度为:6067, 8308, 8844这几个,对于返回长度10000以下的,可以直接抛弃掉。
5.请求到数据之后保存为文件即可。

效果图:

视频演示:

 

☆版权☆

* 网站名称:obaby@mars
* 网址:https://obaby.org.cn/
* 个性:https://oba.by/
* 本文标题: 《微博图片拯救 — 妈妈再也不用担心图片被夹看不到啦!🤓》
* 本文链接:https://obaby.org.cn/2025/02/19296
* 短链接:https://oba.by/?p=19296
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

30 comments

  1. Level 4
    Safari 18 Safari 18 iPad iOS 18.3.1 iPad iOS 18.3.1 cn中国–香港–新界–荃湾区 Hytron_Network_Services

    有文字,有图,又有视频。就是看不懂😂

  2. Level 3
    QQbrowser 13 QQbrowser 13 Windows 11 Windows 11 cn中国–福建–三明 移动

    已经很多年没碰微博了,现在大部分时间都被小说、短视频和内耗占据,剩下的10%用来睡觉。 sad

    1. 公主 Queen 
      Google Chrome 126 Google Chrome 126 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      微博我也主要是看看,头条热门神马的,一般也不发。

  3.  Level 6
    Google Chrome 130 Google Chrome 130 Windows 11 Windows 11 cn中国–河南–漯河 电信

    前段时间用过微博的快应用,好久没再微博里发东西了,感觉现在是文娱方面的阵地。前天重新整我的链接分类,还想着把你归为技术类还是生活类,或者技术&生活类,最后选择了技术类。

    1. 公主 Queen 
      Google Chrome 126 Google Chrome 126 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      哈,神马分类都行。要不就两个都加上,技术最好的生活博主,生活丰富的技术博主,😂

  4. Level 4
    Google Chrome 101 Google Chrome 101 Windows 10 Windows 10 cn中国–湖北–武汉 电信

    作为一个负责任的技术博主来说,还是比较难的撒。
    相对而言,生活博主就要轻松的多了

    1. 公主 Queen 
      Google Chrome 126 Google Chrome 126 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      技术文章不好写,生活文章也不好写。
      一个要浅显易懂,一个要跌宕起伏。
      想写好,都是功力。

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      嗯嗯,憋了挺久了。
      也是看到有人做出来了,心里不服,凭什么别人能弄出来自己不行!😂

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      主要是有的时候真的好奇,那个被夹的图片到底说了什么

  5.  Level 5
    Google Chrome 133 Google Chrome 133 Mac OS X 10.15 Mac OS X 10.15 cn中国–河北–石家庄 电信

    微博小秘书会恨死你,因为他们的工作没有了任何价值……

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      还是有价值的,我这是属于抢救性工作,最起码不经过技术手段还是看不到了不是~~

  6. Level 6
    Google Chrome 109 Google Chrome 109 Windows 10 Windows 10 cn中国–上海–上海 腾讯云

    这张主图不是很好,太霸气了,也是俯拍的,看起来把灵妹妹人物比例搞得怪怪的。

  7. Level 4
    Google Chrome 133 Google Chrome 133 Windows 10 Windows 10 cn中国–台湾–彰化县 中华电信

    年龄大的都告别微博了。你还是不够大。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注