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(\'完成!\')