range关键字

用法1:括号内只写一个数字
range(100) 从0开始到99结束 顾头不顾尾
变相的理解为:[0,1,2,3,4,5,6......,99]
用法2:括号内写两个数字
range(1, 10) 从1开始到9结束 顾头不顾尾
变相的理解为:[1,2,3,4,5,6,7,8,9]
用法3:括号内写三个数字
range(1, 10, 2) 从1开始到9结束 并且中间间隔1 (等差数列)
"""
range在不同版本的解释器下本质有所改变
python2
range()
会立刻产生一个列表 当数据特别多的时候比较占用内存
xrange()
会产生一个迭代器:工厂 需要数据就造不需要就不造 节省空间
python3
range()
会产生一个迭代器:工厂 需要数据就造不需要就不造 节省空间
"""

range实战演练

网络爬虫:通过编写代码模拟浏览器发送请求获取数据并从数据中解析出所需资源
需求:爬取某个网站多页数据

第一页:https://sh.lianjia.com/ershoufang/
第二页:https://sh.lianjia.com/ershoufang/pg2/
第三页:https://sh.lianjia.com/ershoufang/pg3/
第四页:https://sh.lianjia.com/ershoufang/pg4/
ps:第一页应该也可以写成>>>https://sh.lianjia.com/ershoufang/pg1/
'''编写代码产生链家前一百页的网址'''
base_url = 'https://sh.lianjia.com/ershoufang/pg%s/'
for i in range(1, 100):
print(base_url % i)

需求:豆瓣top250网址特性
https://movie.douban.com/top250
https://movie.douban.com/top250?start=25&filter=
https://movie.douban.com/top250?start=50&filter=
https://movie.douban.com/top250?start=75&filter=
https://movie.douban.com/top250?start=0&filter=
'''编写代码产生豆瓣top250所有页的网址'''
base_url = 'https://movie.douban.com/top250?start=%s&filter='
for i in range(0, 250, 25):
print(base_url % i)

posted @ 2022-08-12 18:49  呼长喜  阅读(73)  评论(0编辑  收藏  举报