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

27-第1步_设计程序

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

第1步:设计程序

打开一个浏览器的开发者工具,检查该页面上的元素,你会发现下面的内容。

  • 漫画图像文件的URL,由一个 <img> 元素的 href 属性给出。
  • <img> 元素在 <div id="comic"> 元素之内。
  • Prev按钮有一个 rel HTML属性,值是 prev
  • 第一张漫画的Prev按钮链接到后缀为# URL的XKCD网址,表明没有前一个页面了。

让你的代码看起来像这样:

#! python3
# downloadXkcd.py - Downloads every single XKCD comic.
import requests, os, bs4
url = 'https://'          # starting url
os.makedirs('xkcd', exist_ok=True)  # store comics in ./xkcd
while not url.endswith('#'):
    # TODO: Download the page.
    # TODO:  Find the URL  of the comic image.
    # TODO: Download the image.
    # TODO: Save the image to ./xkcd.
    # TODO: Get the Prev button's url.
print('Done.')

你会有一个 url 变量,开始的值是 'http:// ' ,然后反复更新(在一个 for 循环中),变成当前页面的Prev链接的URL。在循环的每一步,你将下载URL上的漫画。如果URL以 '#' 结束,那么你就知道需要结束循环。

将图像文件下载到当前目录的一个名为 xkcd 的文件夹中。调用 os.makedirs() 函数以确保这个文件夹存在。如果文件夹已经存在,那么关键字参数 exist_ok=True 可用于防止该函数抛出异常。剩下的代码只是注释,只列出了剩下程序的大纲。