下载漫画网站图片示例

复制代码
import requests,bs4,os
#利用 requests 模块下载页面
url='http://xkcd.com'
os.makedirs('xkcd', exist_ok=True) #创建一个文件夹xkcd


while not url.endswith('#'):
    res=requests.get(url)
    res.raise_for_status() #没有下载到则报错

    #利用 Beautiful Soup 找到页面中漫画图像的 URL
    soup=bs4.BeautifulSoup(res.text,"html.parser")
    sel=soup.select('#comic img')
    if sel==[]:
        print('没有下载到图片哦!')
    else:
        imgurl='http:'+sel[0].get('src')
        if imgurl.startswith('http://imgs.xkcd.com'):
            print('Imgurl检查正常..')
        else:
            imgurl='http://xkcd.com'+sel[0].get('src')
            
        #利用 iter_content()下载漫画图像,并保存到硬盘
        print('下载图片: %s...' % (imgurl))
        res = requests.get(imgurl)
        res.raise_for_status()
        
        imgfile=open(os.path.join('xkcd',os.path.basename(imgurl)),'wb')
        for chunk in res.iter_content(100000):
            imgfile.write(chunk)
        imgfile.close
        
    #找到前一张漫画的链接 URL,然后重复
    prevlink=soup.select('a[rel="prev"]')[0]
    url='http://xkcd.com'+prevlink.get('href')
print('完成!')
复制代码

 

posted @   晨光曦微  阅读(737)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示