TypeError: 不能连接 'str' 和 'instance' 对象 (python urllib)

2 投票
4 回答
8419 浏览
提问于 2025-04-15 15:35

我在写一个Python程序的时候,使用了urllib.urlopen这个函数,结果遇到了一个错误。

Traceback (most recent call last):
File "ChurchScraper.py", line 58, in <module>
html = GetAllChurchPages()
File "ChurchScraper.py", line 48, in GetAllChurchPages
CPs = CPs + urllib.urlopen(url)
TypeError: cannot concatenate 'str' and 'instance' objects


 url = 'http://website.com/index.php?cID=' + str(cID)
        CPs = CPs + urllib.urlopen(url)

4 个回答

1

问题出在这一行:CPs = CPs + urllib.urlopen(url)。我猜CPs是一个字符串,但urllib.urlopen(url)返回的是一个类似文件的对象。

如果你想把url里的内容和CPs连接起来,你需要这样做:CPs = CPs + urllib.urlopen(url).read()

2

urllib.urlopen并不是返回一个字符串,而是返回一个对象。
文档链接

If all went well, a file-like object is returned.
6

urlopen(url) 会返回一个类似文件的对象。如果你想获取里面的字符串内容,可以试试下面的代码:

CPs = CPs + urllib.urlopen(url).read()

撰写回答