ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

去洗脚吗?一起探索按摩店的乐趣,Python采集按摩/足浴店数据

2021-10-29 21:36:47  阅读:144  来源: 互联网

标签:index 请求 Python 足浴 按摩 url csv 数据 店铺


本文内容

  1. 动态数据抓包演示
  2. json数据解析
  3. requests模块的使用
  4. 保存csv

环境介绍

  • python 3.8 解释器
  • pycharm 编辑器

确定我们要爬取数据内容是什么?

美团网上搜索“按摩”,采集全部按摩店数据

通过开发者工具进行抓包分析,找到数据

代码实现步骤:

  1. 发送请求, 对于店铺信息数据包url地址发送请求
  2. 获取数据, 获取服务器返回的response响应数据
  3. 解析数据, 提取我们想要的一些数据内容 (店铺信息)
  4. 保存数据, 把相应的数据内容保存csv表格里面
  5. 多页爬取数据内容

开始写代码,首先导入模块

import requests  # 数据请求模块 第三方模块 pip install requests
import pprint  # 格式化输出模块
import csv  # 保存csv模块

 

发送请求, 对于店铺信息数据包url地址发送请求

确定请求的url地址 url?后面的内容,都是属于一个请求参数

url = 'https://apimobile.meituan.com/group/v4/poi/pcsearch/70'
# 因为它是字典数据类型
data = {
    'uuid': 'e0ee521794ef4b229eb6.1633764159.1.0.0',
    'userid': '266252179',
    'limit': '32',
    'offset': page,
    'cateId': '-1',
    'q': '按摩',
}
# 加上请求头 作用: 伪装
# User-Agent 表示浏览器基本信息
# Cookie: 用户信息, 常用于检测是否有登陆账号
# Referer: 防盗链, 告诉服务器我们发送请求url请求是从哪里跳转过来的
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36'
}
response = requests.get(url=url, params=data, headers=headers)  # 发送请求

 

解析数据,提取我们想要的一些数据内容 (店铺信息)

json字典数据 如何解析提取数据内容 字典取值 键值对取值, 根据冒号左边内容, 提取冒号右边内容

searchResult = response.json()['data']['searchResult']
# for 遍历 提取列表中的每一个元素内容
for index in searchResult:
    # pprint.pprint(index)
    href = f'https://www.meituan.com/xiuxianyule/{index["id"]}/'

    dit = {
        '店铺名字': index['title'],
        '店铺类型': index['backCateName'],
        '店铺商圈': index['areaname'],
        '店铺评分': index['avgscore'],
        '店铺评论量': index['comments'],
        '人均消费': index['avgprice'],
        '维度': index['latitude'],
        '经度': index['longitude'],
        '详情页': href,
    }
    print(dit)

 

保存数据

f = open('美团按摩店top2.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '店铺名字',
    '店铺类型',
    '店铺商圈',
    '店铺评分',
    '店铺评论量',
    '人均消费',
    '维度',
    '经度',
    '详情页',
])
csv_writer.writeheader() # 写入表头

 

翻页爬取

for page in range(0, 3201, 32):
    # time.sleep(1)
    url = 'https://apimobile.meituan.com/group/v4/poi/pcsearch/70'
    # 因为它是字典数据类型
    data = {
        'uuid': 'e0ee521794ef4b229eb6.1633764159.1.0.0',
        'userid': '266252179',
        'limit': '32',
        'offset': page,
        'cateId': '-1',
        'q': '按摩',
  }

 

对于文章有疑问,或者想要Python相关资料、源码的同学也可以点这里

 

我立志以【按摩自由】为目标,爬了美团上1000多家按摩/足疗店的数据

标签:index,请求,Python,足浴,按摩,url,csv,数据,店铺
来源: https://www.cnblogs.com/qshhl/p/15483548.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有