将URL请求的内容写入文件

pcl*_*er1 3 python urllib

我试图使用python从php文件中获取列表并将其保存到文件中:

import urllib.request

page = urllib.request.urlopen('http://crypto-bot.hopto.org/server/list.php')

f = open("test.txt", "w")
f.write(str(page))
f.close()

print(page.read())
Run Code Online (Sandbox Code Playgroud)

屏幕输出(分为四行以便于阅读):

ALF\nAMC\nANC\nARG\nBQC\nBTB\nBTE\nBTG\nBUK\nCAP\nCGB\nCLR\nCMC\nCRC\nCSC\nDGC\n
DMD\nELC\nEMD\nFRC\nFRK\nFST\nFTC\nGDC\nGLC\nGLD\nGLX\nHBN\nIXC\nKGC\nLBW\nLKY\n
LTC\nMEC\nMNC\nNBL\nNEC\nNMC\nNRB\nNVC\nPHS\nPPC\nPXC\nPYC\nQRK\nSBC\nSPT\nSRC\n
STR\nTRC\nWDC\nXPM\nYAC\nYBC\nZET\n
Run Code Online (Sandbox Code Playgroud)

文件输出:

<http.client.HTTPResponse object at 0x00000000031DAEF0>
Run Code Online (Sandbox Code Playgroud)

你能告诉我我做错了什么吗?

teh*_*ckz 9

使用urllib.urlretrieve(urllib.request.urlretrieve在Python 3中).

在控制台中:

>>> import urllib
>>> urllib.urlretrieve('http://crypto-bot.hopto.org/server/list.php','test.txt') 
('test.txt', <httplib.HTTPMessage instance at 0x101338050>)
Run Code Online (Sandbox Code Playgroud)

这导致文件test.txt在当前工作目录中保存内容

ALF
AMC
ANC
ARG
...etc...
Run Code Online (Sandbox Code Playgroud)