私はこのコードを持っていて、最終的にはre.findall()
のIPアドレスを文字列に変換したいと考えています。しかし、私はいつもエラーが出ます(下記参照)。re.findall()のIPアドレス配列を文字列に変換する方法
url = 'http://checkip.dyndns.org'
request = urllib.urlopen(url).read()
ip = str(re.findall(r'[0-9]+(?:\.[0-9]+){3}', request))
print ip
私はいつも
がTypeError: not all arguments converted during string formatting
は、誰かがそれを変換するための最良の方法は何であるかを教えてもらえます。このエラーが出ますか? ありがとうございます。
は、構造化された結果を返し、適切なAPIではなく、任意のテキストを使用し、それを心配しないのですか?例えば。 https://api.ipify.org/?format=json –
'print ip'はうまく動作します(リストを文字列に変換したので' ['abcd'] 'を出力しますが、これは期待される出力です)。 [最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を提供していますか? –
'' ip = re.findall(r '[0-9] +(?:\。[0-9] +){3}'、リクエスト)[0] ''は動作しますか? 。 '' re.findall() ''はすでに複数の要素がある場合に文字列のリストを返すので、 ''文字列(blah blah) ''が失敗するでしょう、私は – minhhn2910