1 用法说明
str.format() 方法通过字符串中的花括号 {} 来识别替换字段从而完成字符串的格式化。
1.1 写法
简单字段名有三种写法:
- 省略不写
{} - 数字
{十进制非负整数} - 变量名
{合法的Python标识符} :在生成网址中可应用
1.2 举例
print("hello!{}".format('火柴先生'))
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 生成
"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=[]
for p in range(0,40):
url=template.format(num=p*20)
url_list.append(url)
url_list
执行效果如下: 
参考链接:
Python 中 str.format() 方法详解_团子大圆帅的博客-CSDN博客_
|