过了这好几年之后,总感觉自己已经从一个技术博主,变成了一个生活博主。
年龄越来越大了之后,探索能力,学习能力逐渐的下降。接受新事物的能力也日渐式微,总感觉想做一些东西而力不从心。
很多东西多年以前就知道了,但是想自己去做的时候却总感觉没什么头绪,不知道该从哪里开始。
今天又看到教主转的微博,同样原内容图片被夹了。
教主发的那个这就发挥作用了,是一张截图:
这么个东西。
至于原理,很久之前教主就大概提过,说出来也简单,就是利用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.请求到数据之后保存为文件即可。
效果图:
视频演示:
30 comments
有文字,有图,又有视频。就是看不懂😂
为了解决之前念叨了很久的事情。
已经很多年没碰微博了,现在大部分时间都被小说、短视频和内耗占据,剩下的10%用来睡觉。
微博我也主要是看看,头条热门神马的,一般也不发。
不愧是技术博主,不过我微博基本不用了😂
也确实没什么太多能看的东西
前段时间用过微博的快应用,好久没再微博里发东西了,感觉现在是文娱方面的阵地。前天重新整我的链接分类,还想着把你归为技术类还是生活类,或者技术&生活类,最后选择了技术类。
哈,神马分类都行。要不就两个都加上,技术最好的生活博主,生活丰富的技术博主,😂
姐姐太腻害辣
很久之前就想弄了,念念不忘而已。
一切终归会源于生活😂
是的呢,生活才是主旋律
作为一个负责任的技术博主来说,还是比较难的撒。
相对而言,生活博主就要轻松的多了
技术文章不好写,生活文章也不好写。
一个要浅显易懂,一个要跌宕起伏。
想写好,都是功力。
给点个赞!
欢迎杜老师莅临指导,嘻嘻
还是技术博主成份多点哈。
这个教程不错。
嗯嗯,憋了挺久了。
也是看到有人做出来了,心里不服,凭什么别人能弄出来自己不行!😂
明明所有字都认识,组合在一起就看不懂了。。
雕虫小技,也没什么高深的
不错的想法!
主要是有的时候真的好奇,那个被夹的图片到底说了什么
微博小秘书会恨死你,因为他们的工作没有了任何价值……
还是有价值的,我这是属于抢救性工作,最起码不经过技术手段还是看不到了不是~~
这张主图不是很好,太霸气了,也是俯拍的,看起来把灵妹妹人物比例搞得怪怪的。
也还好,还好
我一直以为这个是因为图不符合微博“规定”下架了才会这样。
时的,这么说也没错。
年龄大的都告别微博了。你还是不够大。
偶尔看看,遇到看不懂的就学习学习