#! python3 # downloadXkcd.py - Downloads every single XKCD comic. import requests, os, bs4 url = 'http://xkcd.com' # starting url下载图片的网址 os.makedirs('xkcd', exist_ok=True) # store comics in ./xkcd while not url.endswith('#'): # Download the page. print('Downloading page %s...' % url) res = requests.get(url)#下载网页资源 res.raise_for_status() soup = bs4.BeautifulSoup(res.text,"html.parser")#解析HTML # Find the URL of the comic image. comicElem = soup.select('#comic img')#找到img if comicElem == []:#如果img为空,则没有能下载的图片 print('Could not find comic image.') else: comicUrl = 'http:'+comicElem[0].get('src')#否则就保存图片连接 print("待下载的图片链接为:%s"%comicUrl) # Download the image. res = requests.get(comicUrl)#获取图片链接 res.raise_for_status() # Save the image to ./xkcd imageFile = open(os.path.join('xkcd', os.path.basename(comicUrl)), 'wb') for chunk in res.iter_content(100000): imageFile.write(chunk)#保存图片到文件夹下 imageFile.close()#关闭文件夹 # Get the Prev button's url. prevLink = soup.select('a[rel="prev"]')[0]#前一张图片的按钮 url = 'http://xkcd.com' + prevLink.get('href')#如果链接不是以#结束,则表明前面还有图片可以被下载 print('Done.')
第11章 下载xkcd的漫画
最新推荐文章于 2021-05-08 15:47:01 发布