zoukankan      html  css  js  c++  java
  • python3爬虫——下载unsplash美图到本地

     

    最近发现一个网站www.unsplash.com ( 没有广告费哈,纯粹觉得不错 ),网页做得很美观,上面也都是一些免费的摄影照片,觉得很好看,就决定利用蹩脚的技能写个爬虫下载图片。

    先随意感受一下这个网站:

    接下来开始对网页进行解析:

    在该网页检查元素,选择其中一张图片查看它的代码

     可以看到,图片 img 在一个 div 的 tag 里面,而且 class = ”IEpfq“,不过那么多内容,虽然有点乱,但其实看 src = ” “ 就行了。

    但这只是一张图片的内容,得再看看其他的图片是不是一样。检查一下发现都是这样。这样子就算解析完成了。可以开始写代码了

     1 #!/usr/bin/env python
     2 # _*_ coding utf-8 _*_
     3 from bs4 import BeautifulSoup
     4 import requests
     5 
     6 i = 0
     7 url = 'https://unsplash.com/'
     8 html = requests.get(url)
     9 soup = BeautifulSoup(html.text, 'lxml')
    10 
    11 img_class = soup.find_all('div', {"class": "IEpfq"})        # 找到div里面有class = "IEpfq"的内容
    12 
    13 for img_list in img_class:
    14     imgs = img_list.find_all('img')                         # 接着往下找到 img 标签
    15     for img in imgs:
    16         src = img['src']                                    # 以"src"为 key,找到 value
    17         r = requests.get(src, stream=True)
    18         image_name = 'unsplash_' + str(i) + '.jpg'          # 图片命名
    19         i += 1
    20         with open('./img/%s' % image_name, 'wb') as file:   # 打开文件  
    21             for chunk in r.iter_content(chunk_size=1024):   # 以chunk_size = 1024的长度进行遍历
    22                 file.write(chunk)                           
    23         print('Saved %s' % image_name)

    运行结果:

    Saved unsplash_0.jpg
    Saved unsplash_1.jpg
             ......
    Saved unsplash_19.jpg
    Saved unsplash_20.jpg    
    

      

  • 相关阅读:
    数据库设计:数据库设计步骤,er图,三大范式
    连接查询
    连接查询和分组查询
    Django项目的创建与配置
    WEB框架的原理总结
    RabbitMQ---消息队列
    Djang之基于角色的权限控制(RBAC)
    Django之基于RBAC权限控制生成动态菜单
    关于装饰器的一些小练习
    关于简单的python函数的一些小练习题
  • 原文地址:https://www.cnblogs.com/lyuzt/p/9478247.html
Copyright © 2011-2022 走看看