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

Posted 向前走。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

 

 

 


以上是关于python接口自动化测试十八:使用bs4框架爬取图片的主要内容,如果未能解决你的问题,请参考以下文章

Python实训day07am爬取数据接口webdriver自动化测试工具selenium

python—多协程爬取糗事百科热图

使用python3 requests和bs4进行爬虫(二)爬取文章

python_接口自动化测试框架

python接口自动化测试 - unittest框架基本使用

python接口自动化测试 - unittest框架suiterunner详细使用