You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

URL数字每次加10批量访问代码报错:TypeError: must be str, not int

修正你的批量URL生成代码

先拆解下你代码里的几个核心问题:

  • 直接把整数i和字符串拼接,Python不允许不同类型直接相加,这就是你碰到TypeError: must be str, not int的根源
  • 循环逻辑完全走偏了——你把字符串url当成函数调用url(),还试图用它来控制循环,这完全不符合Python的语法逻辑
  • 原URL的格式有错误,aspx后面应该用?来连接参数,你写成了aspxk=&k=,这会导致URL无法正常访问

下面是修正后的代码,我会同步说明每处改动:

# 初始分页偏移值设为0
i = 0
# 设置你要生成的最大偏移值,比如到50为止(可按需调整)
max_offset = 50

# 用while循环控制每次偏移值加10
while i <= max_offset:
    # 用f-string格式化字符串,自动把整数i转成字符串,同时修正URL参数格式
    url = f"https://www.minsalud.gov.co/sites/rid/Paginas/freesearchresults.aspx?k=Salud%20Mental%20Legislacion&offset={i}"
    print(url)
    # 每次循环偏移值加10
    i += 10

如果觉得while循环麻烦,也可以用更简洁的range来写for循环:

# 从0开始,每次步长10,生成到50(包含50的话写range(0,51,10),不包含就写range(0,50,10))
for i in range(0, 51, 10):
    url = f"https://www.minsalud.gov.co/sites/rid/Paginas/freesearchresults.aspx?k=Salud%20Mental%20Legislacion&offset={i}"
    print(url)

关键改动说明:

  1. 字符串拼接:用f-string(Python3.6及以上支持)来格式化URL,自动完成整数到字符串的转换,彻底避免类型错误
  2. URL格式修正:把原URL里错误的参数连接方式改成标准的?k=...&offset=格式,确保URL能正常访问(我假设你需要的是offset参数来实现分页,如果实际参数名不同,替换成你需要的即可)
  3. 循环逻辑:用while或range来精准控制i每次递增10,生成对应的分页URL

如果需要批量打开这些页面,可以加上webbrowser模块调用:

import webbrowser

for i in range(0, 51, 10):
    url = f"https://www.minsalud.gov.co/sites/rid/Paginas/freesearchresults.aspx?k=Salud%20Mental%20Legislacion&offset={i}"
    print(f"正在打开页面: {url}")
    webbrowser.open(url)

这样就能自动批量打开每个分页页面了。

内容的提问来源于stack exchange,提问作者Sebastián Ramírez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:19:04