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

Posted 火柴先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用str.format()批量生成网址以豆瓣读书为例相关的知识,希望对你有一定的参考价值。

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),不难发现其生成逻辑

  1. tag后为对应的细分书籍标签
  2. 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循环批量生成网址,构思分为如下几步:
    1. 先创建一个网址模板
    2. 生成一个空列表,用来存储批量生成的网址
    3. 执行循环,注意这里的循环次数根据具体情况来设置
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博客_

以上是关于如何用str.format()批量生成网址以豆瓣读书为例的主要内容,如果未能解决你的问题,请参考以下文章

什么是短地址?如何用PHP生成与使用短地址…

如何用微信小程序模仿豆瓣首页

Hexo | 给hexo博客添加douban读书页

如何用生成器中的值填充 2D Python numpy 数组?

如何用EXCEL随机生成一定位数的字符串

如何用python爬取豆瓣读书的数据