• 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

    
    
  • 相关阅读:
    网页爬虫小记:两种方式的爬取网站内容
    AOP中使用Aspectj对接口访问权限进行访问控制
    Spring Boot应用总结更新
    SpringBoot集成mybatis配置
    经验收集
    关于阿拉伯文开发的一点经验
    关于IDataReader.GetSchemaTable的一些事情
    removing vmware debugger from visual studio
    SQL Server 2008 R2 附加数据库 “尝试打开或创建物理文件 拒绝访问”的解决办法
    Visual Studio 2013 ReportViewer Control
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/9160168.html
Copyright © 2020-2023  润新知