所以我试图从Json GET请求中删除一堆“ \ n”。但是,当我制作响应的字符串副本并尝试.replace(“ \ n”,“”)时,什么都不会删除
def fetchProxy():
return urllib.request.urlopen("https://api.getproxylist.com/proxy").read()
def createList():
afile = open("proxies.json", "a")
i = 1
for i in range(3):
proxy = str((fetchProxy())).replace("\n","",-1)
afile.write(proxy + "\n")
afile.close()
这是用于获取json并将其放入文件中的所有代码(超过3次)。另外,目前整个项目中的几乎所有代码。
示例json:
b'{\n "_links": {\n "_self": "\/proxy",\n "_parent":
"\/"\n },\n "ip": "177.23.106.107",\n "port": 4145,\n
"protocol": "socks4",\n "anonymity": "high anonymity",\n
"lastTested": "2019-02-23 23:53:48",\n "allowsRefererHeader":
true,\n "allowsUserAgentHeader": true,\n "allowsCustomHeaders":
true,\n "allowsCookies": true,\n "allowsPost": true,\n
"allowsHttps": true,\n "country": "BR",\n "connectTime":
"0.692",\n "downloadSpeed": "155.000",\n "secondsToFirstByte":
"1.128",\n "uptime": "45.621"\n}'
答案 0 :(得分:0)
此电话:
str((fetchProxy()))
在\ n周围放置转义字符。 您要么要调用替换为
proxy = str((fetchProxy())).replace("\\n","")
或者,如果您希望将字符串值保存在文件中而不是字节中:
proxy = fetchProxy().decode().replace('\n', '')
答案 1 :(得分:0)
您必须执行以下操作,其中.replace("\n", "")
是一个变量(我将第一个函数更改为变量,以使其在第二个函数中可用,我希望这不会影响所需的结果):
fetchProxy= return urllib.request.urlopen("https://api.getproxylist.com/proxy").read()
fetchProxy=str(fetchProxy)
fetchProxy=fetchProxy.replace("\n", "")
def createList():
afile = open("proxies.json", "a")
i = 1
for i in range(3):
proxy = fetchProxy
#str((fetchProxy())).replace("\n","",-1)
#I am not sure why the last argument in the .replace is -1, because the last argument is number of
#occurences to be replaced and default is all, if left empty
afile.write(proxy + "\n")
afile.close()