下载漫画网站图片示例

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 @ 2019-03-13 16:19  晨光曦微  阅读(714)  评论(0编辑  收藏  举报