运行代码: # 1 页 # http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname # POST # "cname": "北京", # "pid": "", # "pageIndex": "1", # "pageSize": "10" # 2 页 # http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname # POST # "cname": "北京", # "pid": "", # "pageIndex": "2", # "pageSize": "10" # 下载北京市KFC门店前10页的数据 # 1.请求对象的定制 # 2.获取响应的数据 # 3.下载数据 import urllib.request import urllib.parse # base_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname' def create_request(page): base_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname' data = { 'cname': '北京', 'pid': '', 'pageIndex': '1', 'pageSize': '10' } data = urllib.parse.urlencode(data).encode('utf-8') headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0' } request = urllib.request.Request(url=base_url,headers=headers,data=data) return request def get_content(request): response = urllib.request.urlopen(request) content = response.read().decode('utf-8') return content def down_load(page,content): with open('kfc_'+str(page)+'.json','w',encoding='utf-8') as fp: fp.write(content) if __name__ == '__main__': start_page = int(input('请输入起始页码')) end_page = int(input('请输入结束页码')) for page in range(start_page,end_page+1): # 请求对象定制 request = create_request(page) # 获取页面源码 content = get_content(request) # 下载 down_load(page,content) 结果展示
从网页下载的门店信息
门店信息展示