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

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

1 用法说明


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


1.1 写法

简单字段名有三种写法:

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


1.2 举例

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


2 应用:豆瓣读书


2.1 初步

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

ae7fc932276b43d6813f086df17a5376.png


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

image.png


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中运行结果如下:

image.png


  • 通过简单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


执行效果如下:

image.png


参考链接:

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

目录
相关文章
|
Python 数据挖掘 自然语言处理
Python---qq群聊天记录词云分析
python拥有近13w个第三方库,其中有很多优秀的库,比如wordcloud,scipy,jieba等库,能快速实现很多功能,比如制作一个QQ群聊天记录词云…… 工具:PyCharm, Python3.6.5 1.获取数据源 qq左下角 导出消息记录 要用.txt导出到任意盘符,接下来就要对导出的txt文件进行数据分析。
2703 0
|
数据采集
【详细步骤解析】爬虫小练习——爬取豆瓣Top250电影,最后以csv文件保存,附源码
【详细步骤解析】爬虫小练习——爬取豆瓣Top250电影,最后以csv文件保存,附源码
326 0
|
搜索推荐 Python
【python-致用】为嫖掘金月更奖品,我用刚学的python做了个批量文件内容替换
【python-致用】为嫖掘金月更奖品,我用刚学的python做了个批量文件内容替换
162 0
【python-致用】为嫖掘金月更奖品,我用刚学的python做了个批量文件内容替换
|
数据采集 存储 关系型数据库
基于Python的爬虫演示示例-以电影网站为例
爬取的数据最终会存到MYSQL服务器的表中,可以写程序将数据展示出来。注意的时会对IP进行限制封号,200条为限,超过IP会被限制,可以换一个IP进行抓去。主要研究爬虫的基本使用规范和语法,相对较为简单,供大家学习参考
252 0
|
API Python
Python为文档批量注音(生僻字歌词为例)
如果不认识,你可以查字典,找度娘,然后标注上拼音啊!即娱乐又长知识了。 当然有人觉得这样一个一个的查太麻烦,那是因为----你不会Python啊! 今天,我就来教教你们,怎么把文本内容自动标注拼音。
198 0
|
数据采集 Web App开发 JavaScript
10分钟教你用Python爬取Baidu文库全格式内容
10分钟教你用Python爬取Baidu文库全格式内容
1394 0
|
机器学习/深度学习 算法 图形学
Dataset:fetch_20newsgroups(20类新闻文本)数据集的简介、安装、使用方法之详细攻略
Dataset:fetch_20newsgroups(20类新闻文本)数据集的简介、安装、使用方法之详细攻略
|
JSON 数据格式 Python
Crawler:基于requests库+json库+40行代码实现爬取猫眼榜单TOP100榜电影名称主要信息
Crawler:基于requests库+json库+40行代码实现爬取猫眼榜单TOP100榜电影名称主要信息
Crawler:基于requests库+json库+40行代码实现爬取猫眼榜单TOP100榜电影名称主要信息
|
存储 数据安全/隐私保护 开发者
如何获取用户的输入 | 手把手教你入门Python之十六
在Python中,我们可以使用 input() 函数来获取用户的输入。
2079 0
如何获取用户的输入 | 手把手教你入门Python之十六