我正在尝试生成如下URL:
http://ergast.com/api/f1/2000/qualifying?limit=10000
我正在使用Python生成2000年到2015年的url,为此,我编写了以下代码片段:
url = "http://ergast.com/api/f1/"
year = url.join([str(i) + "/qualifying?limit=10000" + "\n" for i in range(1999, 2016)])
print(year)
输出为:
1999/qualifying?limit=10000
http://ergast.com/api/f1/2000/qualifying?limit=10000
http://ergast.com/api/f1/2001/qualifying?limit=10000
http://ergast.com/api/f1/2002/qualifying?limit=10000
http://ergast.com/api/f1/2003/qualifying?limit=10000
http://ergast.com/api/f1/2004/qualifying?limit=10000
......
http://ergast.com/api/f1/2012/qualifying?limit=10000
http://ergast.com/api/f1/2013/qualifying?limit=10000
http://ergast.com/api/f1/2014/qualifying?limit=10000
http://ergast.com/api/f1/2015/qualifying?limit=10000
如何摆脱第一条线?我试着做了这个范围(2000年,2016年),但是同样的事情发生了,第一行是2000年,而不是1999年。我做错什么了?我该怎么解决?
很高兴知道为什么会这样。 要了解join函数,请查看docs
这意味着url参数将在要连接的单词之间重复,这将导致上面的输出,第一个元素没有url。 你想要的不是使用join,而是连接字符串,就像你已经在处理年份一样。
为此,您可以使用不同的方法,正如已经回答过的那样。 您可以使用@AKS指出的字符串格式,它应该可以工作。
可以为此使用字符串格式:
更新:
基于OP在
requests.get
中传递这些URL的注释:使用列表理解来创建不同的URL,而不是使用URL来连接字符串。
然后您仍然可以使用
'\n'.join(...)
将所有这些连接到一个大字符串中,这是您喜欢的。相关问题 更多 >
编程相关推荐