爬蟲入門實戰(一)

python爬蟲入門實戰(一)

  • post請求方式爬取肯德基配送地址

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

相關文章
相關標籤/搜索