TypeError例外: 'STR' と 'インスタンス' オブジェクトを連結することができない(Pythonのurllibは)

StackOverflow https://stackoverflow.com/questions/1660954

  •  12-09-2019
  •  | 
  •  

質問

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)
役に立ちましたか?

解決

urlopen(URL)ファイルのようなオブジェクトを返します。文字列の内容を取得するには、してみてください。

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

他のヒント

urllib.urllopenは文字列を返さない、それはオブジェクトを返します
ドキュメント

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

問題は、この行である:私はCPs = CPs + urllib.urlopen(url)が文字列であると仮定しCPsしかしurllib.urlopen(url)オブジェクトなどのファイルを返します。

。 あなたはurlCPsでファイルの内容を参加させたい場合は、

あなたはこのような何か実行する必要があります。CPs = CPs + urllib.urlopen(url).read()

CPは何ですか?それは文字列であるように見えます。 urlopenは、ファイルのようなオブジェクトではなく、文字列のインスタンスを返します。参照してください - http://docs.python.org/library/urllib.html に。

エラーがurlopenからスローされませんが、オブジェクトインスタンスの文字列を連結しようとしているため。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top