温馨提示×

怎么用python爬虫爬取网页图片

小亿
82
2024-12-07 07:33:32
栏目: 编程语言

要使用Python爬虫爬取网页图片,您可以使用第三方库requests和BeautifulSoup。以下是一个简单的示例,说明如何爬取一个网页上的所有图片URL:

  1. 首先,确保您已经安装了所需的库。如果尚未安装,可以使用以下命令安装:
pip install requests
pip install beautifulsoup4
  1. 然后,创建一个名为web_scraper.py的Python文件,并在其中编写以下代码:
import requests
from bs4 import BeautifulSoup

def get_image_urls(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    
    image_urls = []
    for img in soup.find_all('img'):
        img_url = img.get('src')
        if img_url:
            image_urls.append(img_url)
    
    return image_urls

def download_images(image_urls, save_directory):
    if not os.path.exists(save_directory):
        os.makedirs(save_directory)
        
    for index, image_url in enumerate(image_urls):
        filename = f'image_{index}.jpg'
        file_path = os.path.join(save_directory, filename)
        
        response = requests.get(image_url)
        with open(file_path, 'wb') as f:
            f.write(response.content)

if __name__ == '__main__':
    url = input('请输入要爬取的网址:')
    save_directory = input('请输入保存图片的目录:')
    
    image_urls = get_image_urls(url)
    print(f'找到 {len(image_urls)} 个图片URL。')
    
    download_images(image_urls, save_directory)
    print(f'已将图片保存到 {save_directory}。')
  1. 运行此脚本,然后按照提示输入要爬取的网址和保存图片的目录。脚本将下载网页上的所有图片并将其保存到指定的目录中。

注意:这个示例可能无法处理一些特殊情况,例如相对URL、懒加载图片或JavaScript动态加载的图片。您可能需要根据目标网站的具体情况对代码进行调整。

0