[Python]如何使用Beautiful Soup将图像一次保存在Web上


简介

在这里,我们将通过网络抓取介绍"如何一次在网络上保存图像"。

:warning:警告:warning:
如果受版权保护,或者在版权方面可以接受,但使用条款禁止刮scrap,则有可能要求赔偿损失,因此请确保您了解网络上的版权法和使用条款。刮。

目录

  • 如何进行网页抓取
  • 实际保存图片
  • 提取流量
  • 概要
  • 奖金
  • 参考
  • 1.如何进行网页抓取

    可以使用多种语言进行Web抓取,例如``Ruby'',``PHP''和``Javascript'',但是这次我将介绍使用Python的``Beautiful Soup''的方法。

    2.实际保存图像

    ①用pip

    安装beautifulsoup4

    1
    pip install beautifulsoup4

    ②决定要进行网页抓取的网站
    *这次,我们将下载" Irasutoya"的图像。
    https://www.irasutoya.com/search/label/业务

    ③从列表页面

    获取每个图像链接页面的URL。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    url = "https://www.irasutoya.com/search/label/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9"
    # 画像ページのURLを格納するリストを用意
    link_list = []
    response = urllib.request.urlopen(url)
    soup = BeautifulSoup(response, "html.parser")
    # 画像リンクのタグをすべて取得
    image_list = soup.select('div.boxmeta.clearfix > h2 > a')
    # 画像リンクを1つずつ取り出す
    for image_link in image_list:
        link_url = image_link.attrs['href']
        link_list.append(link_url)

    ④获取图像文件的所有标签

    1
    2
    3
    4
    5
    for page_url in link_list:
        page_html = urllib.request.urlopen(page_url)
        page_soup = BeautifulSoup(page_html, "html.parser")
        # 画像ファイルのタグをすべて取得
        img_list = page_soup.select('div.separator > a > img')

    ⑤一张一张地提取img标签,并获取图像文件的URL

    1
    2
    3
    4
    5
    for img in img_list:
        # 画像ファイルのURLを取得
        img_url = (img.attrs['src'])
        file_name = re.search(".*/(.*png|.*jpg)$", img_url)
        save_path = output_folder.joinpath(file_name.group(1))

    ⑥从图像文件的URL下载数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    try:
       # 画像ファイルのURLからデータを取得
       image = requests.get(img_url)
       # 保存先のファイルパスにデータを保存
       open(save_path, 'wb').write(image.content)
       # 保存したファイル名を表示
       print(save_path)
    except ValueError:
       print("ValueError!")

    这就是整个过程。

    ↓↓执行结果↓↓
    result1.png

    3.提取流程

    我认为想像步骤③至⑤有点困难,因此我创建了大致的提取流程。
    process.png

    另外,此资源已发布在Github上,因此请在下面参考。
    https://github.com/miyazakikna/SaveLocalImageWebScraping.git

    4.摘要

    在这里,我解释了如何使用Python的美丽汤批量保存图像。
    这次我获得了Irasutoya的图片,但是我认为您可以在其他站点上以相同的方式下载该图片,因此请使用它。

    5.奖金

    单击此处了解如何在下载图像后立即更改文件名↓↓
    [工作效率]如何在Python

    中重命名文件

    6.参考

    ?让我们用Python抓取图像
    通过网络抓取图像收集