爬取微信公众号的二维码图片要如何保存?

这是我随便拿到的一个微信二维码的图片

http://mp.weixin.qq.com/rr?timestamp=1477967764&src=3&ver=1&signature=q6PJ4iwz2XQTjlRFChULUeyL9foFWJYob94G2OuP-Px7I1Ed0FexIhHA9eEQGjmvgcZtl-CGI1jhJeeJp45sHoiIqaEMG6UZ2wMSrn*bCuE=

但是链接格式里面包含时间轴,也就是这个连接会过期....
那么目前只有唯一的方法就是把这个图片保存下来了.

现在问题是,类似这样的图片要如何下载呢?好像一般的下载方式不太好下载

阅读 6.1k
3 个回答

我抓包看了一下这个 URL 的响应,就是一个普通的响应,实现起来其实很简单的,随手给你写了一个简单的例子,这是你想要的吗?


# -*- coding: UTF-8 -*-
import urllib2
url = 'http://mp.weixin.qq.com/rr?timestamp=1477967764&src=3&ver=1&signature=q6PJ4iwz2XQTjlRFChULUeyL9foFWJYob94G2OuP-Px7I1Ed0FexIhHA9eEQGjmvgcZtl-CGI1jhJeeJp45sHoiIqaEMG6UZ2wMSrn*bCuE='
request = urllib2.Request(url)
response = urllib2.urlopen(request)
f = open('test.png', 'wb')
f.write(response.read())
f.close()

其他的你应该自己会了吧!

直接获取内容,然后将其保存到文件。然后你尝试打开这个文件,看看是否正常就好了。

新手上路,请多包涵

正好之前写了一个从微信那边下载图片的一段程序

    

        $url = "http://file.api.weixin.qq.com/....?access_token={$access_token}&media_id={$media_id}";//图片路径
        $file_path = ROOT_PATH.'runtime/';//保存路径
        $file_name = $file_path.$media_id.'.jpg';//文件名
        $hander = curl_init();
        $fp = fopen($file_name,'wb');
        curl_setopt($hander,CURLOPT_URL,$url);
        curl_setopt($hander,CURLOPT_FILE,$fp);
        curl_setopt($hander,CURLOPT_HEADER,0);
        curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1);
        //curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以数据流的方式返回数据,当为false是直接显示出来
        curl_setopt($hander,CURLOPT_TIMEOUT,60);
        curl_exec($hander);
        curl_close($hander);
        fclose($fp);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏