首页 > 编程语言 >用Python把附近的足浴店都给采集了一遍,好兄弟:针不戳~

用Python把附近的足浴店都给采集了一遍,好兄弟:针不戳~

时间:2022-11-12 16:56:06浏览次数:51  
标签:shop index Python 足浴 采集 info url csv response

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

又到了学Python时刻~

 

 

我又来了!今天整个好玩的,你们肯定喜欢~

咱们上班累了,不得好好犒劳一下自己,是吧 !

于是我整了一手采集附近洗jio的店子,浴皇大帝们,冲鸭~

话不多说,冲!兄弟们,都是正规的 正规的!

使用环境

  • python 3.8 解释器

  • pycharm 编辑器

用的大多数的知识点 都是属于基础的知识点内容,以及pa chong基础入门一些知识点。

要用的模块

  • requests >>> pip install requests 第三方模块 需要大家去安装

  • csv

win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)

基本思路。

数据来源分析

我们不管是采集什么,都要先找到数据来源。有来源才有下一步的行动。

  1. 确定我们要采集得数据内容是什么?

    店铺基本数据信息

  2. 通过开发者工具进行抓包分析 分析数据从哪里可以获取

    从第一页数据进行分析的

代码流程步骤

有了来源目标之后,再请求获取数据,解析数据,最后创建文件夹保存到Excel表格。

当然,如果想采集更多的,肯定就得实现自动翻页

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

  • 获取数据, 获取服务器返回的response响应数据

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

  • 保存数据, 把相应的数据内容保存csv表格里面

  • 多页采集:多页采集数据内容

代码展示

不限正规足浴,其实想采集啥都行。

import requests
import pprint
import re
import csv
import time

f = open('按摩data.csv', mode='a', encoding='utf-8', newline='')

csv_writer = csv.DictWriter(f, fieldnames=[
    '店铺名称',
    '人均消费',
    '店铺评分',
    '评论人数',
    '所在商圈',
    '店铺类型',
    '店铺地址',
    '联系方式',
    '营业时间',
    '详情页',
])
csv_writer.writeheader()


def get_shop_info(html_url):
    headers = {
        'Cookie': '',
        'Host': '',
        'Referer': '',
        '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=html_url, headers=headers)
    # print(response.text)
    phone = re.findall('"phone":"(.*?)"', response.text)[0]
    openTime = re.findall('"openTime":"(.*?)"', response.text)[0].replace('\\n', '')
    address = re.findall('"address":"(.*?)"', response.text)[0]
    shop_info = [address, phone, openTime]
    # print(shop_info)
    return shop_info

for page in range(0, 1537, 32):
    time.sleep(2)
    url = ''
    data = {
        'uuid': '05f4abe326934bf19027.1634911815.1.0.0',
        'userid': '266252179',
        'limit': '32',
        'offset': page,
        'cateId': '-1',
        'q': '按摩',
        'token': 'knaBbvVTfN50cupoV5b87GJMXzkAAAAAAw8AAELrweWvhGhrM0fw6oTkLe5c6DGXJ6PCtxfyHgUPl3k-SVVR-Vs0LjzrGfewJhX8-g'
    }
    headers = {
        'Referer': '',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
    }
    response = requests.get(url=url, params=data, headers=headers)
    result = response.json()['data']['searchResult']
    for index in result:
        shop_id = index['id']
        index_url = f'https://www..com/meishi/{shop_id}/'
        shop_info = get_shop_info(index_url)
        dit = {
            '店铺名称': index['title'],
            '人均消费': index['avgprice'],
            '店铺评分': index['avgscore'],
            '评论人数': index['comments'],
            '所在商圈': index['areaname'],
            '店铺类型': index['backCateName'],
            '店铺地址': shop_info[0],
            '联系方式': shop_info[1],
            '营业时间': shop_info[2],
            '详情页': index_url,
        }
        csv_writer.writerow(dit)
        print(dit)

 

因为代码里有链接,不给过的,所以我把代表性的网址那里删掉了一部分,你们可以自行添加


标签:shop,index,Python,足浴,采集,info,url,csv,response
From: https://www.cnblogs.com/Qqun261823976/p/16884115.html

相关文章