python-爬虫 抓取美食板块商家数据

2023-10-27

 

import pprint
import requests
import csv
import re
url='http://meishi.meituan.com/i/api/channel/deal/list'
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.62',
'Referer': 'http://meishi.meituan.com/i/?ci=790&stid_b=1&cevent=imt%2Fhomepage%2Fcategory1%2F1',
'Cookie': '填自己的'}
data={
    'app': '""',
    'areaId': '0',
    'cateId': '1',
    'deal_attr_23': '""',
    'deal_attr_24': '""',
    'deal_attr_25': '""',
    'limit': '10',
    'lineId': '0',
    'offset': '0',
    'optimusCode': '10',
    'originUrl': '"http://meishi.meituan.com/i/?ci=790&stid_b=1&cevent=imt%2Fhomepage%2Fcategory1%2F1"',
    'partner': '126',
    'platform': '3',
    'poi_attr_20033': '""',
    'poi_attr_20043': '""',
    'riskLevel': '1',
    'sort': '"default"',
    'stationId': '0',
    'uuid': '"0f20dff3e2fa4497879a.1651895026.1.0.0"',
    'version': '"8.2.0"',
}
response=requests.post(url=url,data=data,headers=headers).json()
dd=response['data']['poiList']['poiInfos']

f=open('./data.csv','a',encoding='utf-8',newline='')#a 是追加保存
csv_write=csv.DictWriter(f, fieldnames=[
    '店铺名',
    '饮食类型',
    '最低消费',
    '评分',
    '商圈',
    '商家地址',
    '商家电话',
    '商家网址',
])
csv_write.writeheader()
for i in dd:
    dit={
        '店铺名':i['name'],
        '饮食类型':i['cateName'],
        '最低消费':i['avgPrice'],
        '评分':i['avgScore'],
        '商圈': i['areaName'],
        '商家网址':'https://meishi.meituan.com/i/poi/'+i['poiid']
    }
    header = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.62',
    'Cookie':'填自己的',
    'Referer':'http://meishi.meituan.com/i/?ci=790&stid_b=1&cevent=imt%2Fhomepage%2Fcategory1%2F1',
    }
    hh = requests.get(url=dit['商家网址'],headers=header).text
    obj = re.compile(r'addr":"(?P<addr>.*?)","phone":"(?P<phone>.*?)"')
    result = obj.finditer(hh)
    for item in result:
        addr = item.group('addr')
        phone = item.group('phone')
        dit['商家地址']=addr
        dit['商家电话']=phone
    print(dit)
    csv_write.writerow(dit)

测试结果:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python-爬虫 抓取美食板块商家数据 的相关文章

  • API 端点的 Django 子域配置

    我已经建立了一个 Django 项目 它使用django rest framework提供一些 ReST 功能 网站和其他功能都运行良好 然而有一个小问题 我需要我的 API 端点指向一个不同的子域 例如 当用户访问该网站时 他 她可以根据
  • Pandas apply 与 np.vectorize 从现有列创建新列的性能

    我正在使用 Pandas 数据框 并希望创建一个新列作为现有列的函数 我还没有看到关于之间速度差异的很好的讨论df apply and np vectorize 所以我想我会在这里问 熊猫apply 功能很慢 根据我的测量 在一些实验中如下
  • 具有多处理功能的 Python 代码无法在 Windows 上运行

    以下简单的绝对初学者代码在 Ubuntu 14 04 Python 2 7 6 和 Cygwin Python 2 7 8 上运行 100 但在 Windows 64 位 Python 2 7 8 上挂起 我使用另一个片段观察到了同样的情况
  • Python Nose 导入错误

    我似乎无法理解鼻子测试框架 https nose readthedocs org en latest 识别文件结构中测试脚本下方的模块 我已经设置了演示该问题的最简单的示例 下面我会解释一下 这是包文件结构 init py foo py t
  • KFold 和 ShuffleSplit CV 有什么区别?

    看起来 KFold 每次迭代对象时都会生成相同的值 而 Shuffle Split 每次都会生成不同的索引 它是否正确 如果是这样 其中一个相对于另一个有什么用处 cv cross validation KFold 10 n folds 2
  • 子进程改变目录

    我想在子目录 超级目录中执行脚本 我需要首先进入该子目录 超级目录 我无法得到subprocess进入我的子目录 tducin localhost Projekty tests ve python Python 2 7 4 default
  • 为什么在 Windows 中使用 GetConsoleScreenBufferInfoEx 时控制台窗口会缩小?

    我正在尝试使用 GetConsoleScreenBufferInfoEx 和 SetConsoleScreenBufferInfoEx 设置 Windows 命令行控制台的背景和前景色 我正在 Python 中使用 wintypes 进行此
  • Scikit-learn 的内核 PCA:如何在 KPCA 中实现各向异性高斯内核或任何其他自定义内核?

    我目前正在使用Scikit learn 的 KPCA https scikit learn org stable modules generated sklearn decomposition KernelPCA html对我的数据集执行降
  • conda 无法从 yml 创建环境

    我尝试运行下面的代码来从 YAML 文件创建虚拟 Python 环境 我在 Ubuntu 服务器上的命令行中运行代码 虚拟环境名为 py36 当我运行下面的代码时 我收到下面的消息 环境也没有被创建 这个问题是因为我有几个必须使用 pip
  • 字典中的列表,Python 中的循环

    我有以下代码 TYPES hotmail type hotmail lookup mixed dkim no signatures S Return Path email protected cdn cgi l email protecti
  • Django 的 URL 覆盖率测试为 0%,为什么?

    使用姜戈鼻子 我对 URL 进行了测试 但 URL 覆盖率仍然为 0 为什么 python manage py 测试配置文件 这是我的报道 Name Stmts Miss Cover Missing profiles 0 0 100 pro
  • 如何使用循环将十进制转换为二进制?

    我想编写一个程序 将十进制数 0 到 9 转换为二进制数 我可以编写如何使用重复除法将十进制数转换为二进制数的代码 但是 我在创建一个以二进制格式打印十进制数字 0 到 9 的循环时遇到了麻烦 这是我的代码 number 0 remaind
  • 如何对这个 Flask 应用程序进行单元测试?

    我有一个 Flask 应用程序 它使用 Flask Restless 来提供 API 我刚刚写了一些身份验证来检查 如果消费者主机被识别 该请求包含一个哈希值 通过加密 POST 的请求内容和 GET 的 URL 以及秘密 API 密钥来计
  • 一起使用 Flask 和 Tornado?

    我是以下的忠实粉丝Flask 部分是因为它很简单 部分是因为它有很多扩展 http flask pocoo org extensions 然而 Flask 是为了在 WSGI 环境中使用而设计的 而 WSGI 不是非阻塞的 所以 我相信 它
  • 为什么“return self”返回 None ? [复制]

    这个问题在这里已经有答案了 我正在尝试获取链的顶部节点getTopParent 当我打印出来时self name 它确实打印出了父实例的名称 然而 当我回来时self 它返回 None 为什么是这样 class A def init sel
  • Spyder 如何在同一线程的后台运行 asyncio 事件循环(或者确实如此?)

    我已经研究 asyncio 模块 功能几天了 因为我想将它用于我的应用程序的 IO 绑定部分 并且我认为我现在对它的工作原理有一个合理的理解 或者在至少我认为我已经理解了以下内容 任一时刻 任一线程中只能运行一个异步事件循环 一旦一切都设置
  • 为什么 bot.get_channel() 会产生 NoneType?

    我正在制作一个 Discord 机器人来处理公告命令 当使用该命令时 我希望机器人在特定通道中发送一条消息 并向用户发送一条消息以表明该命令已发送 但是 我无法将消息发送到频道 我尝试了这段代码 import discord import
  • scipysolve_ivp() 中的访问时间步长

    我有一个常微分方程系统 正在使用 scipy 的solve ivp 函数求解 它运行良好 但我在访问每个步骤中使用的时间步时遇到问题 我知道solve ivp 将当前时间传递给用户定义的函数 但我需要使用的时间步长 而不是当前时间 为了解决
  • 从数据集的给定日期范围中提取属于一天的数据

    我有一个数据集 日期范围为 2018 年 1 月 12 日到 8 月 3 日 其中包含一些值 维数为my df数据框是 my df shape 9752 2 每行包含半小时频率 第一行开始于2018 01 12 my df iloc 0 D
  • 为什么用字符串和时间增量转置 DataFrame 会转换数据类型?

    这种行为对我来说似乎很奇怪 id列 字符串 在转置后转换为时间戳df如果另一列是时间增量 import pandas as pd df pd DataFrame id 00115 01222 32333 val 12 14 170 df v

随机推荐

  • 快速排序和堆排序算法的比较与详解

    快速排序 原理 1 通过partion函数将列表最左边的数归位 归位的这个数左边的数都是比他小的 右边都是比他大的数 2 通过partion函数递归 将每一个数归位 partion函数解读 关键问题 left
  • vue+element ui 上传文件,显示的文件参数内容只有uid

    现象 使用elment ui的el upload组件上传文件 会导致上传的文件参数file里面只包含uid 没有其他信息 file uid 52688455 其他参数 xxxx 过程 在网上查资料 首先发现 是没有设定content typ
  • CSS旋转的环形文字效果

  • 微积分

    对于微积分已经是过去式了 早就不知道说的是什么了 今天学习一波 微积分 Calculus 微积分是高等数学中研究函数的微分 积分以及有关概念和应用的数学分支 它是数学的一个基础学科 内容主要包括极限 微分学 积分学及其应用 微分学包括求导数
  • 利用Puppeteer实现验证码网站登录

    Puppeteer puppeteer是由Google官方推出的一个node库 可以启动Chromium浏览器模拟人为操作 类似于PhantomJS 这为爬虫和自动化测试提供了便利 流程 登录流程很简单 启动puppeteer打开目标网站
  • ABAP 传入数据到EXCEL自编函数

    DATA excel TYPE ole2 object workbook TYPE ole2 object sheet TYPE ole2 object cell TYPE ole2 object column TYPE ole2 obje
  • Servlet 清除Cookie 方法

    一 删除已知名称的Cookie 方案 重新建立同名立即删除类型的Cookie Cookie newCookie new Cookie username null 假如要删除名称为username的Cookie newCookie setMa
  • 工作流简介及其6种常用的工作流引擎

    先说说四个非PetriNet调度算法的开源引擎 4 OBE的引擎调度机制 4 Shark的引擎调度机制 5 OSWorkflow的引擎执行机制 6 JBpm的引擎执行机制 6 再说说两个PetriNet调度算法的开源引擎 9 YAWL的引擎
  • 图说函数模板右值引用参数(T&&)类型推导规则(C++11)

    图说函数模板右值引用参数 T 类型推导规则 C 11 见下图 规律总结 只要我们传递一个基本类型是A 的左值 那么 传递后 T的类型就是A 形参在函数体中的类型就是A 只要我们传递一个基本类型是A的右值 那么 传递后 T的类型就是A 形参在
  • 解析Cloudsim中,获取SLA指标的函数:getSlaMetrics()

    protected static Map
  • 如何使用 Humata.ai:快速理解和总结文献

    链接 Humata 简介 Humata ai 是一个人工智能驱动的文献阅读助手 可以帮助用户快速理解和总结文献 它可以提取文献的关键信息 并以简洁易懂的语言生成摘要 此外 Humata ai 还可以回答用户关于文献的问题 帮助用户深入理解文
  • 选择一家公司看哪些条件

    1 薪资 公司谈的工资都是税前 一般我会认为年薪工资指的就是一年的税前收入 如果有加班费可以把加班费也算上 每月加班时间是有上限的 可以根据个人习惯计算 然后是年终奖 则税前年薪 税前基本工资 加班费 年终奖 你看工资银行卡一年的薪资到账记
  • xcode报错:Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/b

    今天使用xcode编译工程发现一个问题 这里记录一下防止忘记 xcode报错 Command Applications Xcode app Contents Developer Toolchains XcodeDefault xctoolc
  • 本地部署Stable Diffusion

    效果 遇到的坑 报错 RuntimeError LayerNormKernelImpl not implemented for Half 解决方案 产生报错的原因是因为显卡不支持half float的数据类型 所以在启动项set COMMA
  • 微信小程序(由浅到深)

    文章目录 一 项目基本配置 1 项目组成 2 常见的配置文件解析 3 app json全局的五大配置 4 单个页面中的page配置 5 App函数 6 tabBar配置 二 基本语法 事件 单位 1 语法 2 事件 3 单位 三 数据响应式
  • python语法-pyspark实战(数据输入)

    python语法 pyspark实战 数据输入 1 演示通过pyspark代码加载python对象数据 基本数据结构 转为RDD对象 即数据输入 parallelize 方法 演示通过pyspark代码加载数据 即数据输入 from pys
  • varchar2 汉字长度问题

    转载于 https www cnblogs com yangxia test archive 2013 08 07 3242775 html Oracle定义varchar2 类型存储汉字的长度问题 varchar2最大是4000字节 那么
  • 使用 Iptables 命令详细图文教程

    目录 一 防火墙管理工具 二 Iptables 2 1 策略与规则链 2 2 基本的命令参数 2 2 1 在 iptables 命令后添加 L 参数查看已有的防火墙规则链 2 2 2 在 iptables 命令后添加 F 参数清空已有的防火
  • 【Altium designer】定义PCB外形并开槽

    1 PCB自定义外形 项目中经常会用到异形的PCB 需要先在keep out画出PCB外形 也可以直接从cad里面导到AD里面 要注意单位长度的转换 然后框选中keep out的线条 按下快捷键D S D 设计 gt 板子形状 gt 按照选
  • python-爬虫 抓取美食板块商家数据

    import pprint import requests import csv import re url http meishi meituan com i api channel deal list headers User Agen