为了一次性将壁纸的图片批量保存到本地,学习使用requests+BeautifulSoup将这些图片保存到本地,写的不好大佬多多指教,以下是全部代码:
import requests
from bs4 import BeautifulSoup
# 请求网页
url = 'https://pic.netbian.com/'
# 请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 '
'Safari/537.36',
'Accept-Encoding': 'GBK'
}
# 文件保存路径
my_path = r'D:\wallpapers'
# 图片序号
i = 1
# 遍历页数 前十页
for index in range(1, 11):
if index == 1:
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
result_set = soup.select('ul.clearfix img')
for picture in result_set:
path = my_path + '/{}.jpg'.format('wallpaper' + str(i))
# wb 二进制读写方式
with open(path, 'wb') as img:
res = requests.get(url + picture['src'])
# 将图片请求的结果内容写到文件中
img.write(res.content)
img.close()
i += 1
print(path + '下载成功!')
elif index > 1:
response = requests.get(url +'index_' + str(index) +'.html', headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
result_set = soup.select('ul.clearfix img')
for picture in result_set:
path = my_path + '/{}.jpg'.format('wallpaper' + str(i))
# wb 二进制读写方式
with open(path, 'wb') as img:
res = requests.get(url + picture['src'])
# 将图片请求的结果内容写到文件中
img.write(res.content)
img.close()
i += 1
print(path + '下载成功!')