思路:网页(HTML)中的图片通常在img标签中,图片的链接通常在标签的src属性中,通过BeautifulSoup解析HTML,找到所有的img标签,获取每一个标签中的src的属性(url),下载,保存到本地。
# @author: huangyanli
# @date : 2018-05-09 18:45:35
# @QQ : 339600718
# @Email : 339600718@qq.com
# 抓取网站的所有<img>标签中的所有jpg图片
import urllib.request
from bs4 import BeautifulSoup
url = "http://theater.mtime.com/China_Guangdong_Province_Shenzen/"
# 获取网页源代码
html_source = urllib.request.urlopen(url).read().decode('utf-8')
# 使用BeautifulSoup 解析HTML
html = BeautifulSoup(html_source, 'html.parser')
# 找到网页上的所有img标签
imgs_url = html.find_all('img')
for img in imgs_url:
# 获取每个img 的src
img_url = img.attrs["src"]
# 获取每个img 的src ,命名图片时用
img_alt = img.attrs["alt"]
# alt中很多字符不能用做文件名,需要替换掉
img_alt = img_alt.replace("/", "")
img_alt = img_alt.replace("?", "")
img_alt = img_alt.replace(" ", "")
img_alt = img_alt.replace(":", "-")
# 下载图片
imgs = urllib.request.urlopen(img_url).read()
# 设置保存图片的路径
f = open("D:/GitHub/PythonSpider/Lily/imgs/" + img_alt + ".jpg", "wb")
# 将图片保存至本地
f.write(imgs)