跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

真紅の資源討論組

  1. 主页
  2. 原创区
  3. 一个东拼西凑的python爬图片的爬虫,别问,我也忘了这代码什么意思了(但是还是可以爬这个论坛的图的...大概?)

一个东拼西凑的python爬图片的爬虫,别问,我也忘了这代码什么意思了(但是还是可以爬这个论坛的图的...大概?)

已定时 已固定 已锁定 已移动 原创区
python
1 帖子 1 发布者 658 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • ErrorEutopiaE 离线
    ErrorEutopiaE 离线
    ErrorEutopia
    写于 最后由 ErrorEutopia 编辑
    #1
    #!/bin/env python3
    import os
    import requests
    from bs4 import BeautifulSoup
    def download_image(url, folder='images'):   
        if not os.path.exists(folder):
            os.makedirs(folder)
        response = requests.get(url)
        filename = url.split("/")[-1]
        filepath = os.path.join(folder, filename)
        with open(filepath, 'wb') as f:
            f.write(response.content)
        print(f"图片已保存至 {filepath}")
    def get_images(url):
        response = requests.get(url)
        soup = BeautifulSoup(response.text, 'html.parser')
        images = []
        for img in soup.find_all('img'):
            img_url = img.get('src')
            if not img_url:
                continue
            if not img_url.startswith(('http://', 'https://')):
                base_url = url.split('/')[0] + '//' + url.split('/')[2]
                img_url = base_url + '/' + img_url.lstrip('/')
            images.append(img_url)
        return images
    def main():
        target_url = input("请输入要爬取图片的网址: ")
        images = get_images(target_url)
        for i, image in enumerate(images):
            print(f"正在下载第 {i+1} 张图片...")
            download_image(image)
        print("所有图片已下载完成。")
    if __name__ == "__main__":
        main()
    
    1 条回复 最后回复
    2
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    Powered by NodeBB Contributors
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门
    • 用户
    • 群组