Python 小白上手的简单爬虫——肯德基——一蓑烟雨任平生

本文档展示了如何使用Python实现从肯德基官网抓取餐厅信息,通过easygui库获取用户输入的查询关键字,然后利用requests库发送POST请求并解析返回数据,将结果写入txt文件。

老规矩,直接上代码

# -*- coding: utf-8 -*-
"""
@Time : 2021/1/22 10:46
@Auth : 张张呀
@File :肯德基.py
@IDE :PyCharm
@Motto:ABC(Always Be Coding)

"""
from tkinter import Tk, messagebox
import easygui

import requests

top = Tk()
top.withdraw()


class kendeji:
    def __init__(self):
        self.url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 Edg/87.0.664.75',
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
        }
        self.data = {
            'cname': '',
            'pid': '',
            'keyword': '',
            'pageIndex': 1,
            'pageSize': 10,
        }

    def write_txt(self, filename1, response):
        with open(filename1, 'w', encoding='utf-8') as fp:
            fp.write(str(response))
        messagebox.showinfo("提示", "抓取数据完成,详情请看txt文件")

    def run(self):
        area = easygui.multenterbox('肯德基餐厅查询', '一蓑烟雨任平生',
                                    fields=['请输入您要查询的餐厅关键字:'],
                                    values=[''])[0]

        self.data['keyword'] = area
        response = requests.post(self.url, self.data, self.headers).json()
        print(response)
        self.write_txt(area + '.txt', response)


if __name__ == '__main__':
    kendeji().run()

在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值