获取南京肯德基门店列表

获取南京肯德基门店列表

  1. 以南京为例批量获取肯德基门店信息
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
    }
    
    # get请求需要对url编码同时可以指定字符集
    data = urllib.parse.urlencode(data).encode('utf-8')    
    # 访问http://www.kfc.com.cn获取cookie
    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)
                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐江小鱼

知识创造财富,余额还是小数

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值