技术文章 > Python技术 > Python基础 > 正文

如何用python爬虫在知乎上提取图片?

小妮浅浅

在下载需要用的软件时,总是会打包出一堆我们不想要的东西,虽然可以点击取消但是稍微不注意就给一起下载出来了,重新把不要的卸载还很麻烦。同样的,我们在知乎上提取想要的数据时,有时候只需要获得图片就足够了。那么有没有什么方法可以用python爬虫在知乎上只提取图片呢?


下面的代码注释请仔细阅读,中间有一个小BUG,需要手动把pic3修改为pic2这个地方目前原因不明确,可能是我本地网络的原因,还有请在项目根目录先创建一个 imgs 的文件夹,用来存储图片

def download_img(self,data):
        ## 下载图片
        for item in data["data"]:
            content = item["content"]
            pattern = re.compile('<noscript>(.*?)</noscript>')
            imgs = pattern.findall(content)
            if len(imgs) > 0:
                for img in imgs:
                    match = re.search('<img src="(.*?)"', img)
                    download = match.groups()[0]
                    download = download.replace("pic3", "pic2")  # 小BUG,pic3的下载不到
                    print("正在下载{}".format(download), end="")
                    try:
                        with requests.Session() as s:
                            with s.get(download) as img_down:
                                # 获取文件名称
                                file = download[download.rindex("/") + 1:]
                                content = img_down.content
                                with open("imgs/{}".format(file), "wb+") as f:  # 这个地方进行了硬编码
                                    f.write(content)
                                print("图片下载完成", end="\n")
                    except Exception as e:
                        print(e.args)
            else:
                Pass


运行结果为

 

想要获得更多图片的小伙伴,快点试试小编这个方法吧,大家的文件夹资源又要更新一波啦~更多Python学习推荐:PyThon学习网教学中心

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 如何用python爬虫收集知乎大V头像?
 如何用python爬虫开源项目登陆知乎?
 python爬虫获取知乎内容失败是什么原因?
 python爬虫如何采集知乎信息汇总?
 python爬虫采集知乎后如何输出内容?
相关视频章节
 Python爬虫基础
 Python爬虫的基本原理
推荐视频
视频教程分类