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

# 爬图片# 目标网站:http://699pic.com/sousuo-218808-13-1.htmlimport requestsfrom bs4 import BeautifulSoupimport osr = 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



原文地址:https://www.cnblogs.com/zhongyehai/p/9160168.html

时间: 2024-10-09 17:05:12

python接口自动化测试十八:使用bs4框架爬取图片的相关文章

python接口自动化测试(十)-写入excel(xlswriter)

 一.安装xlrd模块: 1.mac下打开终端输入命令: pip install XlsxWriter 2.验证安装是否成功: 在mac终端输入 python  进入python环境 然后输入 import xlswriter 不报错说明模块安装成功 二.常用方法: 1.创建excel文件 # 创建文件 workbook = xlsxwriter.Workbook("new_excel.xlsx")  2.创建sheet # 创建sheet worksheet = workbook.a

python接口自动化测试十九:函数

# 函数 a = [1, 3, 6, 4, 85, 32, 46]print(sum(a)) # sum,求和函数 def add(): a = 1, b = 2, return a + bprint(add()) def add(a, b): # 都必填 return a + bprint(add()) def add(a=0, b=0): # 都非必填 return a + bprint(add()) def add(a, b=0): # a必填(必填项放前面) return a + bpr

python接口自动化测试十二:对返回的json的简单操作

# 1.requests里面自带解析器转字典 print(r.json()) print(type(r.json())) # 取出json中的'result_sk_temp'字段 # {"resultcode":"200","reason":"查询成功","result":{"sk":{"temp":"28","wind_directio

python接口自动化测试十:字典、字符串、json之间的简单处理

# 字典a = None    # None = nullb = False   # booleanc, d = 12, 10.6 # int floate = 'asdd'  # strf = ['s', 'e']  # list,数组,可增删改查g = ('a', 's', 'f') # 元组(tuple),只能查 # 字典t = {#   键:值    '': '',    '': ''    } # 字典# dict      key: value   key是唯一的,无序的h = { 

Python接口自动化测试框架实战 从设计到开发

第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的http\https请求包.如何模拟请求数据.过滤规则及修改响应数据.如何解决无法抓包问题        以及fiddler接口测试,让大家能应用好工具! 第3章 Requests常见方法实战运用本章重点讲解 get\post请求测试.接口测试中结果处理.上传\下载文件接口测试.请求中header及coo

颠覆你的Python接口自动化测试,约吗?

课程 一直以来,我都很喜欢收集大家问的比较多的问题,然后一边回答一边整理成文.今天也不例外,只是由一问一答,变成了三问三答. [你问] 我们为什么要做接口测试? [我答] 之前在<测试路上你问我答>系列里写过一篇答疑,详见<接口测试的是什么和为什么?> [你问] Python 语言现在为什么这么火? [我答] 这个问题,其实我的回答未必全面,大家在简书或者任何一个技术论坛搜索一下,很多阐述.推荐下面这篇:Python 为何能坐稳 AI 时代头牌语言? [你问] 老师,我之前看了你写

基于Python接口自动化测试框架(初级篇)附源码

引言 很多人都知道,目前市场上很多自动化测试工具,比如:Jmeter,Postman,TestLink等,还有一些自动化测试平台,那为啥还要开发接口自动化测试框架呢?相同之处就不说了,先说一下工具的局限性: 1.测试数据不可控:    接口虽然是对业务逻辑.程序代码的测试,而实际上是对数据的测试,调用接口输入一批数据,通过断言代码验证接口返回的数据,整个过程围绕数据测试.    如果返回的数据不是固定的,是变化的,那么断言失败,就无法知道是接口程序错误引起的,还是数据变化引起的,所以就需要进行测

python接口自动化测试框架

环境:python3 + unittest + requests Excel管理测试用例, HTMLTestRunner生成测试报告 测试完成后邮件发送测试报告 jsonpath方式做预期结果数据处理,后期多样化处理 后期扩展,CI持续集成 发送邮件效果: 整体结构: common模块 class IsInstance: def get_instance(self, value, check): flag = None if isinstance(value, str): if check ==

python接口自动化测试

之前在项目中搞了一套jmeter +jenkins + git + ant接口自动化测试框架,在项目中运行了大半年了,效果还不错, 最近搞了一套requests + unittest + ddt +pymysql + BeautifulReport的接口自动化测试框架, 测试用例在yaml文件中, 支持数据驱动.连数据库查询. 目前框架还不是特别完善,需要在后续的使用中一步步优化,目前尚未使用jenkins做集成, 后续结合jenkins做成持续集成.接口自动化测试框架地址:https://gi