首页 > 解决方案 > 增加网址中的数字

问题描述

我正在尝试将 URL 中的数字 i 增加十乘十,以便能够同时打开多个页面,但出现以下错误。有人可以帮我更正代码吗?

1 i = 0

url = ("https://www.minsalud.gov.co/sites/rid/Paginas/freesearchresults.aspxk=&k=Salud%20Mental%20Legislacion#k=%2CSalud%20Mental%20Legislacion=+ 1"+ i+")")

for i in url():

    sum =("+10")

print (url)

**TypeError: must be str, not int**

标签: pythonweb-scraping

解决方案


您只想每次都增加iby的值。10您可以使用像rangepython 中的内置函数。一定要检查一下,range经常与forpython 中的循环一起使用

for i in range(1 , 100, 10):
    url = "https://www.minsalud.gov.co/sites/rid/Paginas/freesearchresults.aspxk=&k=Salud%20Mental%20Legislacion#k=%2CSalud%20Mental%20Legislacion=+ "+ str(i)+")"
    print(url)

上述for循环将从 的值开始,每次i = 1递增,直到达到小于 的最大值。上面 for 循环中的值将是10i100i

1
11
21
31
41
51
61
71
81
91

i变为 时101,它结束 for 循环。

编辑:将这些 url 写入文件

with open('urls.txt','w') as f:
    for i in range(1 , 100, 10):
        url = "https://www.minsalud.gov.co/sites/rid/Paginas/freesearchresults.aspxk=&k=Salud%20Mental%20Legislacion#k=%2CSalud%20Mental%20Legislacion=+ "+ str(i)+")"
        f.write(url+'\n')

有关更多信息,请查看python3 中的读写文件


推荐阅读