爬虫入门实战(一)

python爬虫入门实战(一)

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

    解析url,通过post方式准确发送data信息是本次爬虫实战的重难点。代码如下:

# 肯德基店铺位置案例
"""
需求:根据用户输入的页码的起始位置,
把每页的餐厅信息存储到一个独立的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)

由于比较简单,我就不多解释了,,,关掉电脑,,,今天的修行到此结束。。。

相关推荐