抓取网页上的图片(一)

牟黎昕
2023-12-01

抓取网页上的图片

思路:网页(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)
 类似资料: