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

news2024/11/17 5:40:24

前言

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

又到了学Python时刻~

(文末送读者福利)

在这里插入图片描述
我又来了!今天整个好玩的,你们肯定喜欢~

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

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

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

使用环境

python 3.8 解释器

pycharm 编辑器

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

要用的模块

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

csv

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

基本思路。

数据来源分析

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

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

店铺基本数据信息

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

从第一页数据进行分析的

代码流程步骤

有了来源目标之后,再请求获取数据,解析数据,最后创建文件夹保存到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)

尾语 💝

今天的分享,差不多就结束了

可以先收藏 ⭐,再学习,毕竟一一下子学会,确实有点难为人~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

读者福利:知道你对Python感兴趣,便准备了这套python学习资料,

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈



在这里插入图片描述

资料领取

这份完整版的Python全套学习资料已为大家备好,朋友们如果需要可以微信扫描下方二维码添加,输入"领取资料" 可免费领取全套资料【有什么需要协作的还可以随时联系我】朋友圈也会不定时的更新最前言python知识。
在这里插入图片描述

好文推荐

了解python的前景: https://blog.csdn.net/weixin_49892805/article/details/127196159

了解python的副业: https://blog.csdn.net/weixin_49892805/article/details/127214402

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/70694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

相控阵天线(十三):天线校准技术仿真介绍之换相法

目录简介换相法算法简介换相法校准对方向图的影响Hadamard控制矩阵的换相法仿真循环移相控制矩阵的换相法仿真简介 传统方法按照测试区域分,可分为远场、中场和近场测量。远场测量发展成熟,可直接测量方向图,但对条件要求较高,且…

SpringMVC从入门到精通(二)

文章目录6. 响应视图和结果数据6.1 返回值类型6.2 springmvc作用域传值6.3 转发和重定向6.4 json数据格式的请求与响应7.SpringMVC 实现文件上传7.1 文件上传三要素7.2 文件上传依赖7.2 文件上传示例(后端需要配置文件解析器)8. SpringMVC 中的异常处理8…

FMT航点飞行(一)

一、航点飞行前检查: (1)将飞行器在position模式下启动飞行,移动一个距离;在qgc地面站地图上观察移动的距离,记录大概移动的距离为D;打航向,观察地磁计转向是否正常; &a…

Redisson的看门狗机制究竟有什么用?

Redisson的看门狗机制究竟有什么用? 一、普通的Redis分布式锁的缺陷 基于Redis的分布式锁 Redis Lua 脚本实现分布式锁 二、watchDog的自动延期机制 调用链关系 源码解析 tryLock() tryAcquire() tryAcquireAsync() scheduleExpirationRenewal() 锁…

Nginx+tomcat集群

Nginxtomcat集群 定义:在测试环境中有多个tomcat运行这一个项目,需要nginx管理 2特点:1,增加项目访问能力 2,增加服务器性能 3,实现不同负载均衡 3负载均衡:根据每台服务器的性能分配其能承受住…

【Linux】程序地址空间

目录 地址空间是什么 写时拷贝 地址空间存在的意义 如何管理进程地址空间 地址空间是什么 这是我们常说的c/c程序地址空间,但是这里的空间具体指的是哪里的空间,举一个例子方便理解: 运行结果: 代码运行十秒后子进程修改了全局…

目标检测—DiffusionDet:用于检测的概率扩散模型笔记—DDPM

目录 一、Introduction 二、相关工作 三、方法 1.准备工作 2.架构 3、训练 4.预测过程 四. 实验 1.训练策略 2.main property 3.消融实验 五、代码分析 1.测试 demo.py 2.训练 train-net.py 总结 DiffusionDet:将目标检测问题构建为一个从带噪框到目…

安卓APP源码和设计报告——麻雀笔记

目录 一 安卓应用程序开发背景3 1.1开发背景3 1.2开发环境4 二 安卓应用程序开发理论与方法4 三 记事本应用程序的设计与实现5 3.1 拟解决的问题及目标5 3.2 总体设计6 3.3 详细设计与编码实现6 四 总结23 一 安卓应用程序开发背景 1.1开发背景 1.智能手机的市场 …

四年一次的世界杯来了,看看还剩下哪些赛程呢?

足球世界杯的由来2022年的世界杯目前世界杯的赛程看看排在前十的球员几个疑问?世界杯的由来 足球大家应该知道,是一项体育运动,而且是一项多人的体育运动。 世界杯的诞生,源于1950年的南非公开赛,在当时只有5支队伍参…

微信视频播放点播小程序毕业设计,在线教育视频学习小程序系统设计与实现,微信小程序毕业设计论文怎么写毕设源码开题报告需求分析怎么做

基于微信小程序的毕业设计题目(12)php在线教育视频点播学习小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板) 项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序视频点播系统,前台用户使用小程序&a…

理解Nodejs中的进程间通信

前置知识 文件描述符 在 Linux 系统中,一切都看成文件,当进程打开现有文件时,会返回一个文件描述符。 文件描述符是操作系统为了管理已经被进程打开的文件所创建的索引,用来指向被打开的文件。 当我们的进程启动之后&#xff0c…

Python学习-8.1.2 标准库(random库的基础与实例)

2.2 random库 使用random库的主要目的是生成随机数 2.2.1 产生随机数 random()函数:生成一个[0.0,1.0)之间的随机小数,左开右闭。 import random print(random.random())#生成一个[0.0,1.0)之间的随机小数 #每次运行random()函数都会产生不同的数据 …

Layer2代币经济学:除了治理 还应该具备什么价值?

为什么我们需要L2? 任何在2021年期间使用以太坊的人都知道,该区块链可能会变得非常拥堵。这是一个典型的问题——需求太多而供应不足。因此,gas费用(交易费)变得相当昂贵。在牛市高峰期,使用以太坊区块链发…

基于Jenkins的开发测试全流程持续集成实践

今年一直在公司实践CI,本文将近半年来的一些实践总结一下,可能不太完善或优美,但的确初步解决了我目前所在项目组的一些痛点。当然这仅是一家之言也不够完整,后续还会深入实践和引入Kubernetes进行容器编排,以及通过阿…

从js中加载图片和Cannot read property ‘appendChild‘ of null 错误

先写一段代码如下&#xff1b; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title> </title><script>var imgnew Image();img.addEventListener("load",loadHandler);img.src"img/1.jpg"…

【JMeter】命令参数说明

jmeter -n -t xxx.jmx -l result.jtl 非GUI运行xxx.jml脚本写入xxx.jtl结果文件 jmeter -n -t xxx.jmx -l result.jtl -j run.log 非GUI运行xxx.jmx脚本写入xxx.jtl结果文件&#xff0c;日志记录到run.log jmeter -n -t xxx.jmx -R ip1:port1,ip2:port2 -l result.jtl 使用远…

详解 Redis 持久化之掌握 RDB ⽂件的格式,学习如何制作数据库镜像

本文带大家了解一下 Redis 数据一种持久化方式 RDB 的实现。包括 Redis 内存快照 RDB ⽂件的创建时机以及⽣成⽅法。可以让你掌握 RDB ⽂件的格式&#xff0c;学习如何制作数据库镜像。 RDB 创建的入口函数 Redis 创建 RDB 文件的函数有三个&#xff0c;分别是 rdbSave, rdbSa…

知识图谱-KGE-语义匹配-双线性模型-2017:ANALOGY

【paper】 Analogical Inference for Multi-relational Embeddings【简介】 本文是卡耐基梅隆大学的中国学者发表在 ICML 2017 上的工作&#xff0c;提出了 ANALOGY 模型&#xff0c;用于建模实体和关系的推理属性。这个模型应当也算是双线性模型中比较经典的一个了&#xff0c…

Erueka基本使用

SpringCloud Erueka基本使用 Erueka是微服务架构中&#xff0c;可以作为注册中心的技术实现&#xff0c;如下图所示 服务提供者&#xff1a;一次业务中&#xff0c;暴露接口给其它微服务调用&#xff0c;被其它微服务调用的服务。&#xff08;提供接口给其它微服务&#xff09…

一个超好看的音乐网站设计与实现(HTML+CSS)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…