获取南京肯德基门店列表
- 以南京为例批量获取肯德基门店信息
import urllib.request
import urllib.parse
import json
import csv
def do_invoke(page):
base_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname'
data = {
'cname': '南京',
'pid': '',
'pageIndex': page,
'pageSize': 10
}
data = urllib.parse.urlencode(data).encode('utf-8')
headers = {'Cookie': 'xxx'}
req = urllib.request.Request(url=base_url, data=data, headers=headers)
return req
def get_content(req):
resp = urllib.request.urlopen(req)
content = resp.read().decode('utf-8')
jsonObj = json.loads(content)
return jsonObj
def fillRes(jsonObj, res):
tables = jsonObj.get('Table1')
result = []
for table in tables:
result.append(table.get('provinceName') + table.get('cityName'))
result.append(table.get('addressDetail'))
result.append(table.get('pro'))
res.append(result)
result = []
if __name__ == '__main__':
start_page = int(input('请输入起始页码:'))
end_page = int(input('请输入结束页码:'))
res = []
for page in range(start_page, end_page + 1):
req = do_invoke(page)
jsonObj = get_content(req)
fillRes(jsonObj, res)
with open('南京肯德基门店.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerows(res)