当前位置:嗨网首页>书籍在线阅读

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链接,然后重复。

87.png

图12-6 XKCD,“关于浪漫、讽刺、数学和语言的漫画网站”

打开一个新的文件编辑器窗口,将它保存为downloadXkcd.py。