其他
Python爬虫教程03:下载《第1页》古装美女的图片
Python,速成心法
敲代码,查资料,问度娘
练习,探索,总结,优化
为了爬取这个网址的图片数据,我们可以使用Python的requests和bs4库进行实现。首先,需要导入这两个库。
网页图片地址:https://www.hexuexiao.cn/meinv/guzhuang/
采集完成之后的本地图片
↓ 源码如下 ↓
import requests
from bs4 import BeautifulSoup
import os
# 1.新建一个文件夹,用于存放下载的图片或资源
os.makedirs('测试图片',exist_ok=True)
# 2.定义函数的功能:01获取网页图片
def get_image_url(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
response = requests.get(url, headers=headers)
#使用bs4,解析HTML数据
soup = BeautifulSoup(response.text, 'html.parser')
images = soup.find_all('img')
image_urls = [] # 清空初始列表
for image in images:
image_url = image.get('src') # 取src对应的属性值
image_urls.append(image_url) # 得到的数据添加到列表
return image_urls
# 3.采集与保存图片数据
def save_images(url2):
res = requests.get(url2)
#以网址的结尾,按斜杠分割命名图片名
file_name=url2.split('/')[-1]
#print(file_name)
with open('测试图片/' + file_name +'.jpg', 'wb') as f:
f.write(res.content)
f.close()
if __name__ == '__main__':
url = 'https://www.hexuexiao.cn/meinv/guzhuang/'
image_urls = get_image_url(url)
#返回的是图片地址的列表
#print(image_urls)
for image_url in image_urls:
#print(image_url.split('/')[-1])
save_images(image_url)
print('已经下载完成,图片已经全部,保存在测试图片里面了!!')
在这个代码中,我们定义了一个函数get_image_url,它接收一个URL参数,并返回该页面中所有的图片URL。首先,我们设置了请求头,包括一个User-Agent,以便模拟Chrome浏览器。然后,我们发送一个GET请求,获取该页面的HTML内容。接着,我们使用bs4库的BeautifulSoup解析这个HTML,通过find_all方法查找所有的img标签,最后将它们的src属性添加到一个列表中。最后,我们返回这个列表。
在主程序main中,我们调用get_image_url函数,获取图片URL列表,并采集与保存图片。
完毕!!感谢您的收看
------------往期更多精彩内容------------
-------------------------------------------------
---------------Python源码集合---------------
Python源代码分享:05使用turtle模块绘制一个彩色螺旋图案