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    
    

      

  • 相关阅读:
    攻防一体 暴力攻击
    新的亮眼的但不彻底的交互
    利用物联网或智能化区分产品
    Character Sets, Collation, Unicode :: utf8_unicode_ci vs utf8_general_ci
    容灾 RPO RTO
    微信找人代付 下单账号 支付账号
    微信公众号 openId 支付 php中file_get_contents与curl性能比较分析
    t
    accesstoken 中控服务器 并发刷新 加并发锁
    a
  • 原文地址:https://www.cnblogs.com/lyuzt/p/9478247.html
Copyright © 2011-2022 走看看