前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python获取微信公众号文章里的网页图片

python获取微信公众号文章里的网页图片

作者头像
efonfighting
发布2019-09-27 16:43:47
1.2K0
发布2019-09-27 16:43:47
举报
文章被收录于专栏:一番码客

一番码客 : 挖掘你关心的亮点。 http://efonfighting.imwork.net

本文目录:

日更前语命令行方式python代码方式

日更前语

昨天一番为electron写了个开篇,本来今天应该继续的,但一番回来收拾完了快10点了,吃了夜宵看了电影都12点了。好吧,工作太累,放松一下。现在开始写文章了。没时间研究electron了,所以继续写写python吧,这样的方式写python,写一年也写不完啊(捂脸)。

命令行方式

会linux的小伙伴们应该知道,linux里有一个命令——“wget”。用这个命令可以从一个网址下载想要的东西。比如一番知道了一篇公众号文章的链接地址。那么可以通过wget命令将这个网页下载下来保存到本地。

代码语言:javascript
复制
wget https://mp.weixin.qq.com/s/hGlIYPV_P16RAset3Kk_lQ -O essay.html

下载下来后,我们用浏览器打开,发现图片无法显示。

这时我们用文本编辑器打开html文件,会发现一个data-src字段,这个字段就是图片地址的字段。

我们将其内容链接复制后用浏览器打开,发现确实是我们网页上的图片。

这时我们用wget工具去下载

代码语言:javascript
复制
wget https://mmbiz.qpic.cn/mmbiz_png/gAXAm0302ofV183q8rwKKKEHGAyWkFCeewcrwDM12M4BngTEe1HF97vic794j0YOd0HO08esMTDt20ibVxF7Xguw/640?wx_fmt=png -O 1.png

以上可以说是用linux自带命令的方式实现的网页上图片的下载了。

python代码方式

不罗嗦,先上代码。

代码语言:javascript
复制
def saveUrl(url, picName):
    '''
    保存url内容
    :param url : 要保存的url
    :param picName : 保存文件路径
    :return : 获取到的url内容长度
    '''
    contLen = 0
    try:
        urlCont = requests.get(url, timeout=20).content
        contLen = len(urlCont)

        if (contLen == 0): # 第一次失败则再尝试一次
            print("get url failed,try again.")
            urlCont = requests.get(url, timeout=20).content
            contLen = len(urlCont)

        if (contLen != 0):
            open(picName, 'wb').write(urlCont)
            print("get url ok:", contLen)
        else:
            print("get url failed.")
    except Exception:
        print("get url Exception.")
    return contLen

前面是说的用wget有个问题,如果再大批量的下载中,wget没有返回值,不能做超时处理。

所以我们需要用python代码的方式,这里主要用的是requests方法。

如代码所示,先获取到链接对应的内容,然后将获取的内容保存即可。

可以做超时,可以做代理,比wget命令强大多了,也更灵活。

一番雾语:我们行走在这世上,善恶美丑散落在我们行走的每一寸土地上,我们拾起什么,便带走什么。

免费知识星球: 一番码客-积累交流 微信公众号:一番码客 微信:Efon-fighting 网站:http://efonfighting.imwork.ne

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一番码客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 日更前语
  • 命令行方式
  • python代码方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档