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

Python多线程爬虫报can only concatenate str (not "int") to str如何解决

报错含义

这个TypeError: can only concatenate str (not "int") to str的含义是:Python不支持直接将字符串和整数通过+运算符拼接。
你的代码中,创建线程时传入的参数是i + 1,这是整数类型,传入run_the_command函数后赋值给args变量,你在拼接请求URL时直接用"https://coinmarketcap.com/?page=" + args,属于字符串加整数的非法操作,所以触发了该错误。

解决方法

只需要将整数类型的args转换为字符串,或者使用字符串格式化方法拼接URL即可,有两种常用修改方案:

方案1:使用f-string格式化(推荐,可读性更高)

将报错的那行代码修改为:

r = requests.get(f"https://coinmarketcap.com/?page={args}")

方案2:手动转换为字符串后拼接

将报错的那行代码修改为:

r = requests.get("https://coinmarketcap.com/?page=" + str(args))
其他优化建议
  • 你当前的异常捕获try...except只包裹了线程启动的代码,线程内部执行的网络请求、页面解析、数据库操作的异常都无法被捕获,建议将异常捕获逻辑放到run_the_command函数内部。
  • 批量请求目标站点建议添加请求头User-Agent模拟浏览器访问,避免被站点反爬策略拦截。
  • 数据库连接建议用完之后及时关闭,避免无用资源占用过多。

内容的提问来源于stack exchange,提问作者Ehsan Akbar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:06:01