一.网站分析
复制图片链接查看
去掉@以及之后的参数再次查看
有的图片的url属性为data-src
二.python代码
import os
import requests
from urllib.parse import urlparse
from bs4 import BeautifulSoup
url = 'http://www.xiachufang.com/'
r = requests.get(url)
# 生成对象
soup = BeautifulSoup(r.text, 'lxml')
img_list = []
for img in soup.select('img'):
if img.has_attr('data-src'):
img_list.append(img.attrs['data-src'])
else:
img_list.append(img.attrs['src'])
# 初始化下载文件目录
image_dir = os.path.join(os.curdir, 'images')
for img in img_list:
o = urlparse(img)
# 图片命名
filename = o.path[1:].split('@')[0]
filepath = os.path.join(image_dir, filename)
if not os.path.isdir(os.path.dirname(filepath)):
os.mkdir(os.path.dirname(filepath))
# 原图url,非缩略图
img_url = '%s://%s/%s' % (o.scheme, o.netloc, filename)
# print(img_url)
resp = requests.get(img_url)
with open(filepath, 'wb') as fp:
for chunk in resp.iter_content(1024):
fp.write(chunk)