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

884次阅读
没有评论

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爬虫如何在知乎上提取图片

 

想要获得更多图片的小伙伴,快点试试小编这个方法吧,大家的文件夹资源又要更新一波啦。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-25发表,共计1429字。
新手QQ群:570568346,欢迎进群讨论 Python51学习