美文网首页
自学Python爬虫:百度快速下载照片

自学Python爬虫:百度快速下载照片

作者: 小强聊成长 | 来源:发表于2023-02-18 16:48 被阅读0次

    最终实现一个快速下载照片的小程序。并且能实现根据你输入的关键词自动搜索下载。还可以指定保存目录。
    下面直接上代码:

    import requests
    import re
    from urllib import parse
    import os
    
    
    class BaiduImageSpider(object):
        def __init__(self):
            self.url = 'https://image.baidu.com/search/flip?tn=baiduimage&word={}'
            self.headers = {'User-Agent': 'Mozilla/4.0'}
    
        # 获取图片
        def get_image(self, url, word):
            # 使用 requests模块得到响应对象
            res = requests.get(url, headers=self.headers)
            # 更改编码格式
            res.encoding = "utf-8"
            # 得到html网页
            html = res.text
            print(html)
            # 正则解析
            pattern = re.compile('"hoverURL":"(.*?)"', re.S)
            img_link_list = pattern.findall(html)
            # 存储图片的url链接
            print(img_link_list)
            # 创建目录,用于保存图片
            directory = 'd:/image/{}/'.format(word)
            # 如果目录不存在则创建,此方法常用
            if not os.path.exists(directory):
                os.makedirs(directory)
    
            # 添加计数
            i = 1
            for img_link in img_link_list:
                filename = '{}{}_{}.jpg'.format(directory, word, i)
                self.save_image(img_link, filename)
                i += 1
    
        # 下载图片
        def save_image(self, img_link, filename):
            html = requests.get(url=img_link, headers=self.headers).content
            with open(filename, 'wb') as f:
                f.write(html)
            print(filename, '下载成功')
    
        # 入口函数
        def run(self):
            word = input("请问你想要下载什么照片?")
            word_parse = parse.quote(word)
            url = self.url.format(word_parse)
            self.get_image(url, word)
    
    
    if __name__ == '__main__':
        spider = BaiduImageSpider()
        spider.run()
    

    用百度是很方便的,但是百度是一个搜索引擎,所以你要什么类型的图片,就需要你输入关键词,因此程序第一步是提示你输入关键词,然后才是按照你输入的关键词去查找你要的图片。最后就是保存结果。
    ________________END______________

    相关文章

      网友评论

          本文标题:自学Python爬虫:百度快速下载照片

          本文链接:https://www.haomeiwen.com/subject/aiyzcdtx.html