import requests,bs4,os#利用 requests 模块下载页面url=‘http://xkcd.com‘os.makedirs(‘xkcd‘, exist_ok=True) #创建一个文件夹xkcdwhile 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(‘完成!‘)
下载漫画网站图片示例
原文地址:https://www.cnblogs.com/chenxi188/p/10523950.html