使用的是JupyterLab,按照教程给的代码总是爬出来空白json,但是删除在运行后删除fileName=place+'.json'再运行就可以得当正常的json,但是再复制代码到新的页面,却显示fileName未命名,这是怎么回事?
import json
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'
}
post_url='http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
place=input('请输入一个地址:')
data={
'cname': '',
'pid': '',
'keyword': place,
'pageIndex':'1',
'pageSize': '10',
}
detail_json=requests.post(url=post_url,data=data,headers=headers).json()
fileName=place+'.json'
fp=open(fileName,'w',encoding='utf-8')
json.dump(detail_json,fp=fp,ensure_ascii=False)
print("Over!")
得到的json是空白
删除fileName=place+'.json'后继续运行可以得到正常数据。但是复制代码到新的页面显示fileName未命名,求解,为什么有fileName的时候是空白的,删了却出来了!!
open函数是写入模式是w,这个会删除原有的文件重新写新的json文件
题主提供的代码没有问题,在vscode中运行和结果正常,当删除fileName=place+'.json',因为fileName没有先定义会报错。