当前位置 博文首页 > Python如何用str.format()批量生成网址(豆瓣读书为例)

    Python如何用str.format()批量生成网址(豆瓣读书为例)

    作者:火柴先生 时间:2021-09-14 18:04

    目录
    • 1 用法说明
      • 1.1 写法
      • 1.2 举例
    • 2 应用:豆瓣读书
      • 2.1 初步
      • 2.2 分析URL
      • 2.3 生成
    • 参考链接:

      1 用法说明

      str.format() 方法通过字符串中的花括号 {} 来识别替换字段从而完成字符串的格式化。

      1.1 写法

      简单字段名有三种写法:

      • 省略不写 {}
      • 数字 {十进制非负整数}
      • 变量名 {合法的Python标识符}:在生成网址中可应用

      1.2 举例

      # 省略不写
      print("hello!{}".format('火柴先生'))
      #OUTPUT:hello!火柴先生
      # 变量名
      print("hello!{name}".format(name='火柴先生'))
      
      

      2 应用:豆瓣读书

      2.1 初步

      打开网页选择一个自己感兴趣的标签,这里我选择“股票”标签进行后续操作。

      拖动到最下方有翻页功能,点击后一页

      在这里插入图片描述 

      2.2 分析URL

      通过上图中url[(https://book.douban.com/tag/股票?start=20&type=T),不难发现其生成逻辑

      tag后为对应的细分书籍标签

      start值为对应书本起始数,第三页start值变为40可推测其每页显示数量为20本书

      2.3 生成

      利用上面学习的方法先生成一条地址

      # url:https://book.douban.com/tag/股票?start=20&type=T
      "https://book.douban.com/tag/股票?start={num}&type=T".format(num=20)

      在notebook中运行结果如下:

      在这里插入图片描述

      通过简单for循环批量生成网址,构思分为如下几步:

      • 先创建一个网址模板
      • 生成一个空列表,用来存储批量生成的网址
      • 执行循环,注意这里的循环次数根据具体情况来设置
      template="https://book.douban.com/tag/股票?start={num}&type=T"
      url_list=[]
      # 下面设置40,因为股票类的书籍只有40页
      for p in range(0,40):
          url=template.format(num=p*20)
          url_list.append(url)
      url_list
      

      执行效果如下:

      在这里插入图片描述

      参考链接:

      Python 中 str.format() 方法详解_团子大圆帅的博客-CSDN博客_

      jsjbwy