解析url,经过post方式准确发送data信息是本次爬虫实战的重难点。代码以下:python
# 肯德基店铺位置案例 """ 需求:根据用户输入的页码的起始位置, 把每页的餐厅信息存储到一个独立的json文件中 """ from urllib import request from urllib import parse import json post_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname' start_page = int(input('请输入起始页:')) end_page = int(input('请输入结束页:')) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36' } for page in range(start_page, end_page + 1): p = str(page) data = { 'cname': '北京', 'pid': '', 'pageIndex': p, 'pageSize': '10' } data = parse.urlencode(data).encode('utf-8') req = request.Request(url=post_url, data=data, headers=headers) response = request.urlopen(req) content = response.read().decode('utf-8') # 保存为本地json文件 filename = 'data/KFC/{}.json'.format(p) json.dump(content, open(filename, 'w', encoding='utf-8'), ensure_ascii=False)
因为比较简单,我就很少解释了,,,关掉电脑,,,今天的修行到此结束。。。json