Python爬取网络图片保存到本地文件夹
Python爬取网络图片保存到本地文件夹主要内容第一步 引入库文件第二步 获取网页文档第三步 获取图片地址第四步 通过地址保存图片在main方法执行以上方法执行main()方法爬取结果主要内容经过上一次的爬虫实例,我已经认识到了网络爬虫的基本步骤,这一次再次做了一套练习,爬取网页图片并且保存到本地。其基本步骤就是获取网页文档,查找目标img标签,再获取img标签的src值然后对图片进行保存~~,上
·
Python爬取网络图片保存到本地文件夹
主要内容
经过上一次的爬虫实例,我已经认识到了网络爬虫的基本步骤,这一次再次做了一套练习,爬取网页图片并且保存到本地。其基本步骤就是获取网页文档,查找目标img标签,再获取img标签的src值然后对图片进行保存~~,上次分析了怎么获取标签,这次就不再重复了。
第一步 引入库文件
import requests
import bs4
from bs4 import BeautifulSoup
import os
第二步 获取网页文档
def getHtml(url):
try:
r = requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
print("连接出错了~~")
第三步 获取图片地址
循环图片的容器,将src值提取出来保存在列表里面。
def getImg(text):
urlList = []
soup = BeautifulSoup(text,"html.parser")
tag = soup.find("ul",class_="ali")
for item in tag.children:
if isinstance(item, bs4.element.Tag):
img = item.find("img")
src = img.get('src')
print("获取到图片地址:"+src)
urlList.append(src)
return urlList
第四步 通过地址保存图片
为了更加直观看到图片被保存,将网络图片的图片名作为我们保存的图片命名,因为获取的src值链接没有“http:”这里把它拼接上,不然要报错呀~~
def getImgFile(root,text):
for url in getImg(text):
picName = url.split('/')[-1]
path = root + picName
try:
if not os.path.exists(root):
os.mkdir(root)
if not os.path.exists(path):
r = requests.get("http:" + url)
with open(path, "wb") as f:
f.write(r.content)
f.close()
print(picName + "已经保存成功!")
else:
print(picName + "已存在!")
except:
print("爬取失败!")
第五步 在main方法执行以上方法
def main():
text = getHtml("https://www.ivsky.com/tupian/ziranfengguang/")
root = "D://picture//"
getImgFile(root,text)
第六步 执行main()方法
main()


爬取结果
以下就是爬取结果了~~噢咦,感兴趣的快体验一把吧!!!
更多推荐



所有评论(0)