解析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