TypeError: 不能连接 'str' 和 'instance' 对象 (python urllib)
我在写一个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()