微信7.0后朋友圈图片获取方法,供参考
rarnu opened this issue · 5 comments
rarnu commented
首先还是解 snsinfo 里的 content,得到类似于以下的内容(仅截取了 mediaList 的部分)
<mediaList>
<media>
<id>
<![CDATA[12974693252470280264]]>
</id>
<type>
<![CDATA[2]]>
</type>
<title></title>
<description>
<![CDATA[666]]>
</description>
<private>
<![CDATA[0]]>
</private>
<url type = "1" >
<![CDATA[http://shmmsns.qpic.cn/mmsns/7CdXdIPctJlHqSJDzRuX4UKeD5iaWHbNF1m2uZVdibib6nX0U0XpCWo9v3oz1x8dhYjQbAGmMrUVPc/0]]>
</url>
<thumb type = "1" >
<![CDATA[http://shmmsns.qpic.cn/mmsns/7CdXdIPctJlHqSJDzRuX4UKeD5iaWHbNF1m2uZVdibib6nX0U0XpCWo9v3oz1x8dhYjQbAGmMrUVPc/150]]>
</thumb>
<size width = "1080.0" height = "2339.0" ></size>
</media>
</mediaList>
只看 media.id,即 12974693252470280264 这一串数字,在 SD 卡的微信目录下搜索之
$ find . -name "*12974693252470280264"
./sns/b/0/snsu_12974693252470280264
./sns/b/0/snstblur_src_12974693252470280264
./sns/b/0/snst_12974693252470280264
./sns/b/0/snsb_12974693252470280264
看一下每个文件的类型:
$ find . -name "*12974693252470280264" | xargs file
./sns/b/0/snsu_12974693252470280264: JPEG image data
./sns/b/0/snstblur_src_12974693252470280264: data
./sns/b/0/snst_12974693252470280264: JPEG image data
./sns/b/0/snsb_12974693252470280264: JPEG image data
只看 jpg 格式的图片,snsb 开头是大图,snsu 开头中等大小,snst 是微缩图
把 snsb 的图片拿出来就可以了的,不需要请求微信的服务器,也算是一种解决方案吧。
hovangv5 commented
@rarnu 嗨,这个思路非常不错。但我不觉得微信本身会通过搜索来定位朋友圈的图片和视频,应该是有某种hash算法散列到了不同路径下找到这些资源的,具体的算法还不确定,有什么好头绪吗
vincent067 commented
首先还是解 snsinfo 里的 content,得到类似于以下的内容(仅截取了 mediaList 的部分)
<mediaList> <media> <id> <![CDATA[12974693252470280264]]> </id> <type> <![CDATA[2]]> </type> <title></title> <description> <![CDATA[666]]> </description> <private> <![CDATA[0]]> </private> <url type = "1" > <![CDATA[http://shmmsns.qpic.cn/mmsns/7CdXdIPctJlHqSJDzRuX4UKeD5iaWHbNF1m2uZVdibib6nX0U0XpCWo9v3oz1x8dhYjQbAGmMrUVPc/0]]> </url> <thumb type = "1" > <![CDATA[http://shmmsns.qpic.cn/mmsns/7CdXdIPctJlHqSJDzRuX4UKeD5iaWHbNF1m2uZVdibib6nX0U0XpCWo9v3oz1x8dhYjQbAGmMrUVPc/150]]> </thumb> <size width = "1080.0" height = "2339.0" ></size> </media> </mediaList>
只看 media.id,即 12974693252470280264 这一串数字,在 SD 卡的微信目录下搜索之
$ find . -name "*12974693252470280264" ./sns/b/0/snsu_12974693252470280264 ./sns/b/0/snstblur_src_12974693252470280264 ./sns/b/0/snst_12974693252470280264 ./sns/b/0/snsb_12974693252470280264
看一下每个文件的类型:
$ find . -name "*12974693252470280264" | xargs file ./sns/b/0/snsu_12974693252470280264: JPEG image data ./sns/b/0/snstblur_src_12974693252470280264: data ./sns/b/0/snst_12974693252470280264: JPEG image data ./sns/b/0/snsb_12974693252470280264: JPEG image data
只看 jpg 格式的图片,snsb 开头是大图,snsu 开头中等大小,snst 是微缩图
把 snsb 的图片拿出来就可以了的,不需要请求微信的服务器,也算是一种解决方案吧。
确实是可以解决了, 但是问题是好像 susb的大图需要点击加载过之后才会有,。。。
xinzeyang commented
content里面的图片链接,无法通过浏览器打开吗?有没有办法通过某种方式从微信的服务器上访问获取到吗
ma-haozhe commented
看了下手机里缓存,snsu的是缩略图,然后snst是中等大小图