吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2758|回复: 15
收起左侧

[Python 转载] [适合新手]爬取肯德基线下门店地址并进行存储

   关闭 [复制链接]
beyond1994 发表于 2022-8-19 23:39
[Python] 纯文本查看 复制代码
import requests
import csv

url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'}


f = open('book.csv',mode='a',encoding='utf-8',newline='')
#表头
csv_writer = csv.DictWriter(f,fieldnames=[
    '餐厅名称',
    '餐厅地址',
    '详情',
])

#表单数据
for i in range(1,11):
    data = {
        'cname': '',
        'pid': '',
        'keyword': '北京',
        'pageIndex': f'{i}',
        'pageSize': '10',
    }
#请求字符串
    params = {'op':'keyword'}


    response = requests.post(url=url, params=params, headers=headers, data=data)
    json_data = response.json() #将结果进行反序列化 将对象转化为可以传输、储存的数据

    for i in json_data['Table1']:
        name = i['storeName']
        address = i['addressDetail']
        services = i['pro']
        print(name,address,services)

        dict = {
            '餐厅名称':name+'餐厅',
            '餐厅地址':address,
            '详情':services
        }
        csv_writer.writerow(dict)

免费评分

参与人数 4吾爱币 +8 热心值 +4 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zhangzsf + 1 + 1 谢谢@Thanks!
小小的石头13 + 1 + 1 我很赞同!
为之奈何? + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| beyond1994 发表于 2022-8-21 10:10
[Python] 纯文本查看 复制代码
import requests
import csv

url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'}

def page_number(names):
    data = {
        'cname':'',
        'pid':'',
        'keyword':names,
        'pageIndex':'1',
        'pageSize':'10',
    }
    response = requests.post(url=url,headers=headers,data=data)
    json_data = response.json()
    number = json_data['Table'][0]['rowcount']
    return number


def parse_json(name):
    number1 = page_number(name)
    for i in range(1,number1+1):
        data = {
            'cname': '',
            'pid': '',
            'keyword': name,
            'pageIndex': str(i),
            'pageSize': '10',
        }
        response = requests.post(url=url,headers=headers,data=data)
        json_data = response.json()
        for p in json_data['Table1']:
            canteen = p['storeName']
            address = p['addressDetail']
            pro = p['pro']
            print(canteen,address,pro)


parse_json('大连')
bj9ye666 发表于 2022-8-20 00:15
veryht 发表于 2022-8-20 03:00
头像被屏蔽
tl;dr 发表于 2022-8-20 06:05
提示: 作者被禁止或删除 内容自动屏蔽
liuchunjie 发表于 2022-8-20 06:18
今天爬地址,明天疯四就免费
DRLLL 发表于 2022-8-20 06:37
liuchunjie 发表于 2022-8-20 06:18
今天爬地址,明天疯四就免费

人才,哈哈哈哈哈
小小的石头13 发表于 2022-8-20 07:58
支持楼主
iawyxkdn8 发表于 2022-8-20 08:25
一般我都是手机一按,半小时就送到,不用出门!
 楼主| beyond1994 发表于 2022-8-20 08:43
tl;dr 发表于 2022-8-20 06:05
为啥做这个呢?

刚入门找些例子练练手。。
外酥内嫩 发表于 2022-8-20 09:43
这个好像我在哪个教程看到过
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表