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

 木易_迪迪 发布于 2022-10-28 13:24

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

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

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

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

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

        
    
            $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);
    2022-10-29 16:33 回答
  • 直接获取内容,然后将其保存到文件。然后你尝试打开这个文件,看看是否正常就好了。

    2022-10-29 16:34 回答
  • 我抓包看了一下这个 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()
    

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

    2022-10-29 16:35 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有