26-项目_下载所有XKCD漫画
12.7 项目:下载所有XKCD漫画
博客和其他经常更新的网站通常有一个首页,其中有最新的帖子,以及一个“前一篇”按钮,将你带到以前的帖子。然后那个帖子也有一个“前一篇”按钮,以此类推。这创建了一条线索,可以从最近的页面浏览到该网站的第一个帖子。
如果你希望复制该网站的内容以在离线的时候阅读,那么可以手动导航至每个页面并保存。但这是很无聊的工作,所以让我们写一个程序来做这件事。
XKCD是一个流行的极客漫画网站,它符合这个结构,如图12-6所示。官网首页有一个Prev按钮,让用户导航到前面的漫画。手动下载每张漫画要花较长的时间,你可以写一个脚本,在几分钟内完成这件事。
程序需要完成以下任务。
1.加载XKCD主页。
2.保存该页的漫画图片。
3.转入前一张漫画的链接。
4.重复直到第一张漫画。
这意味着代码需要执行以下操作。
1.利用 requests
模块下载页面。
2.利用 Beautiful Soup
找到页面中漫画图像的URL。
3.利用 iter_content()
下载漫画图像,并保存到硬盘。
4.找到前一张漫画的URL链接,然后重复。
打开一个新的文件编辑器窗口,将它保存为downloadXkcd.py。