• python接口自动化测试十八:使用bs4框架爬取图片


    # 爬图片
    # 目标网站:http://699pic.com/sousuo-218808-13-1.html
    import requests
    from bs4 import BeautifulSoup
    import os
    r = requests.get('http://699pic.com/sousuo-218808-13-1.html')

    # r.content # 返回的是字节流

    soup = BeautifulSoup(r.content, 'html.parser') # 用html解析器,查找r.content

    # tu = soup.find_all('img') # 查找所有的标签名字为“img”的对象
    tu = soup.find_all(class_="lazy") # 查找所有的标签名字为“class_="lazy"”的对象


    for i in tu:
    # print(i)
    # <img alt="洱海清晨的彩霞倒映水中高清图片" class="lazy" data-original="http://img95.699pic.com/photo/50061/5608.jpg_wh300.jpg" height="300" src="http://static.699pic.com/images/blank.png" title="洱海清晨的彩霞倒映水中图片下载" width="453.30915684497"/>
    print(i['data-original']) # 获取所有的url地址

    # 爬单张图片
    url = 'http://img95.699pic.com/photo/50061/5608.jpg_wh300.jpg'
    r = requests.get(url)
    f = open('123.jpg', 'wb') # 以二进制写入的方式打开一个名为123.jpg的文件 (后缀可随意改)
    f.write(r.content) # 把r传输的字节流写入到文件中
    f.close() # 关闭文件



    # 批量写入:

    # 创建路径, 创建一个名为“tupian”的文件夹
    curpath = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
    tupian = os.path.join(curpath, 'tupian')
    if not os.path.exists(tupian): # 判断名字为“tupian”的文件夹是否为不存在
    os.mkdir(tupian) # 不存在,则创建名字为“tupian”的文件夹
    # 批量写入图片并保存
    for i in tu:
    try:
    jpg_url = i['data-original'] # 要获取的图片的地址
    name = i['alt']
    r = requests.get(jpg_url)
    # 写入内容,放到tupian文件夹下
    f = open(os.path.join(tupian, '%s.jpg'%name), 'wb')
    f.write(r.content)
    f.close()
    except:
    pass

  • 相关阅读:
    git拉取代码命令
    zookeeper(version3.6.3)安装使用《一》
    kafka(version2.1.3)安装<一>
    linux安装jdk
    linux安装支持文件上传下载的命令
    mapstruct 再也不用set不同的属性而劳累了
    RabbitMq确认消费,与重复消费避免使用冥等
    java8之非重入锁StampedLock ,并发的另一种处理方式
    微信Jssdk
    Vue-Router 的params和query传参两种方式
  • 原文地址:https://www.cnblogs.com/malinalian/p/10491779.html
Copyright © 2020-2023  润新知