精华内容
下载资源
问答
  • Python爬取饿了么外卖信息

    千次阅读 2019-06-19 15:59:10
    废话不多说,说说今天的任务,今天我们的目的爬取外卖信息,选择的平台是饿了吗。 第一步:饿了吗官网进去,定位中南海 第二步:随笔点进去一个商家 我们需要爬取的是每一种食品的名称、月销售量、评分、...

    前言

    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

    PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

    python免费学习资料以及群交流解答点击即可加入

    第一步:饿了吗官网进去,定位中南海

     

    第二步:随笔点进去一个商家

    我们需要爬取的是每一种食品的名称、月销售量、评分、评论数

    第三步:查看源代码发现根本找不到我们需要的元素,很显然这是一个动态页面,那我们可以通过抓包来查看请求过程,F12+F5,

    很显然在这里找到了我们需要的东西,找到了入口之后直接上代码:

     

     

    4.我们的目的是爬取中南海附近所有的外卖信息,这样一个个爬取肯定是浪费时间的,返回到上一页,我们再随便打开几个店铺,发现几个url只有后面一串数字不同,观察之后发现这就是店铺的id,因此我们只需要获取所有店铺的id就可以获取所有店铺的外卖信息了。爬取id的过程其实和上一个页面差不多,都是通过抓包完成的,这里不多做解释。直接上完整代码

     

    展开全文
  • python爬取饿了么数据(2)

    千次阅读 2017-02-14 15:36:30
    keywordExcel="D:\worksapce\python\爬虫饿了么\\keyword.xlsx" keywords=[] targetDir ="D:\worksapce\python\爬虫饿了么" #文件保存路径 def excelName():#根据日期生成文件 if not os.path.isdir(targetDir): ...

    上一节我们去到了关键字 查询得到的附近商圈地点,

    这一节我们查询地点附近的所有商家的月销售情况


    1、网页信息


    在上一节展现的那个网页随便选取一处地点,就会跳转到上面的页面,

    我们向下滑动鼠标的时候,网页是动态加载数据的,我们打开这个网页的时候,首先清空所有的页面请求,然后滑动鼠标,可以看到网页会自动去请求数据,

    分析url可以发现,

    url请求是:

    https://mainsite-restapi.ele.me/shopping/restaurants?extras%5B%5D=activities&geohash=wx4ffdh2dge&latitude=39.86949&limit=24&longitude=116.48301&offset=24&terminal=web

    header:

    1. accept:application/json, text/plain, */*
      accept-encoding:gzip, deflate, sdch, br
      accept-language:zh-CN,zh;q=0.8
      cookie:ubt_ssid=plds7ye19rj2rghg3oaar8hkt89yy7f1_2017-02-07; _utrace=ac9073c509bedb74b28a1482bd95a9d8_2017-02-07
      origin:https://www.ele.me
      referer:https://www.ele.me/place/wx4ffdh2dge
      user-agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36

    url请求参数:

    1. extras[]:activities
      geohash:wx4ffdh2dge
      latitude:39.86949
      limit:24
      longitude:116.48301
      offset:24
      terminal:web
    分析url请求和请求参数 也可以发现,“?”后面的内容是编码之后的请求参数,

    limit参数 可以理解成,每次加载的数据条数是24条

    至于offset,我们滚动几次鼠标滑轮,就会发现,offset 是以24为基础递增的,0,24,48,72,96.....

    这样我们需要循环取数据,直到该商圈地点附近没有外卖商家信息,进行下一个商圈地点的数据爬取


    所以我们的策略是

    构造header请求,

    根据上一节存储到excel 的数据,构造请求参数,

    循环发送请求,每次设定不同的偏移量(offset),取得数据,写入新的excel 中

    2、代码如下

    #爬饿了么外卖数据--区域下各个地点的商家集合
    
    #https://mainsite-restapi.ele.me/v2/pois?
    #extras%5B%5D=count&geohash=wx4g0bmjetr7&keyword=%E6%9C%9D%E9%98%B3&limit=20&type=nearby
    import urllib.request
    import os
    import json
    import time
    from  openpyxl  import Workbook
    from  openpyxl  import load_workbook
    
    keywordExcel="D:\worksapce\python\爬虫饿了么\\keyword.xlsx"
    
    keywords=[]
    
    targetDir ="D:\worksapce\python\爬虫饿了么"  #文件保存路径
    def excelName():#根据日期生成文件
        if not os.path.isdir(targetDir):  
            os.mkdir(targetDir)
        excelName=str(time.strftime ("%Y-%m-%d")+".xlsx")
        completePath=targetDir+"\\"+excelName
        return completePath
    
    def reqsetting():#初始化url请求,需要实时替换的是extral  和  header里的referer
        weburl = "https://mainsite-restapi.ele.me/shopping/restaurants?"
        extra1="extras%5B%5D=activities&geohash=wx4g56v1d2m&latitude=39.91771&limit=24&longitude=116.51698&offset=0&terminal=web"
        webheaders={
        "Accept":"application/json, text/plain, */*",
        "Accept-Language":"zh-CN,zh;q=0.8",
        "Connection":"keep-alive",
        "Cookie":"ubt_ssid=plds7ye19rj2rghg3oaar8hkt89yy7f1_2017-02-07; _utrace=ac9073c509bedb74b28a1482bd95a9d8_2017-02-07",
        "Host":"mainsite-restapi.ele.me",
        "Origin":"https://www.ele.me",
        #"Referer":"https://www.ele.me/place/wx4g56v1d2m",
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36"
            }
        req=urllib.request.Request(url=weburl,headers=webheaders)
        
        return req
    
    def write2Excel(jsondata,title):#根据不同的商圈地点写入数据,每个商圈地点占用excel 的一个sheet
        fileName=excelName()
        isexit="false"
        if(os.path.exists(fileName)):
            wb=load_workbook(fileName)
            isexit="true"
        else :
           wb=Workbook()
        if(wb.__contains__(title)):
            ws=wb[title]
            ws.append([])
        else:
            ws=wb.create_sheet(title)
            ws.column_dimensions["A"].width =10.0
            ws.column_dimensions["B"].width =40.0
            ws.column_dimensions["C"].width =60.0
            ws.column_dimensions["D"].width =10.0
            ws.column_dimensions["E"].width =18.0
            ws.column_dimensions["F"].width =10.0
            ws.append(["ID","店名","地址","距离","人均消费","月销售额"])
        
    
        for i  in range(len(jsondata)):
            row=jsondata[i]
            #print(type(row))
            if("average_cost" not  in row.keys()):
                row["average_cost"]="无人均消费数据"
            ws.append([row["id"],row["name"],row["address"],row["distance"],row["average_cost"],row["recent_order_num"]])
    
        wb.save(fileName)
        
    def readKeyWordFromExcel():#从上一节生成的keywordExcel 中加载商圈地点
        fileName=keywordExcel
        if(os.path.exists(fileName)):
            wb=load_workbook(fileName)
        else:
            return
        for title in wb.sheetnames:
            ws=wb[title]
            for i in range(2,ws.max_row):
                infos={}#商圈地点数据,为生成请求参数做准备
                infos["name"]=ws.cell(row=i,column=4).value
                print("正在爬取 %s 附近外卖商家的数据..." % infos["name"])
                infos["ID"]=ws.cell(row=i,column=1).value
                infos["geohash"]=ws.cell(row=i,column=3).value
                infos["longitude"]=ws.cell(row=i,column=7).value
                infos["latitude"]=ws.cell(row=i,column=8).value
                if(infos["geohash"]):
                    req=reqsetting()
                    req.add_header("Refer","https://www.ele.me/place/%s" % infos["geohash"])#修改请求头的refer
                    newUrl=req.get_full_url()
                    offset=0
                    contentBytes=""
                    while(contentBytes!="[]"):#构造请求参数,基本上只修改offset 偏移量数据
                        params={
                        "extras[]":"activities",
                        "geohash":"%s" % infos["geohash"],
                        "latitude":"%s" % infos["latitude"],
                        "longitude":"%s" % infos["longitude"],
                        "terminal":"web",
                        "limit":24,
                        "offset":offset
                           }
                        params=urllib.parse.urlencode(params)#请求参数编码
                        req.full_url=newUrl+params   #重新生成url请求
                        webpage=urllib.request.urlopen(req)
                        contentBytes = webpage.read().decode("utf-8")
                        if(contentBytes!="[]"):
                            jsondata=json.loads(contentBytes)        
                            write2Excel(jsondata,infos["name"])#将请求数据写入excel中
                            offset+=24 #便宜
                        else :
                            break
                    
            
    if __name__ == '__main__':  #程序运行入口
        offset=0;
        readKeyWordFromExcel()
    



    展开全文
  • 奶茶的外卖真的特别难做,除了头部品牌,非知名品牌销量难破千小编拿上海长寿路商圈为例,奶茶果汁分类下按销量进行排名,在前端的永远是那几个耳熟能详的品牌。统计了这个商圈内月销过1000的茶饮店共36家,仅有4家...

    奶茶的外卖真的特别难做,除了头部品牌,非知名品牌销量难破千

    小编拿上海长寿路商圈为例,奶茶果汁分类下按销量进行排名,在前端的永远是那几个耳熟能详的品牌。统计了这个商圈内月销过1000的茶饮店共36家,仅有4家是非品牌店,占比不到10%。并且,这4家非品牌店其中两家还是知名品牌的“高仿”店。

    从我们外卖店铺的运营上也是深有感触:在保证曝光量2000以上的基础上,如果是品牌茶饮店,进店转化率可以达到12%以上。但如果是自创品牌,或者不知名的加盟店铺,茶饮店的进店转化率只有8%~10%。

    如果想把外卖平台上的销量提高,还是要有些针对性的方法。

    1、不建议持续shua单,一是风险很高,不要听骑手和业务经理的忽悠,容易被平台封店。二是成本也比较高。

    2、每天的话,建议引导收藏,送成本较低的柠檬水一类的。收藏率高会大大提高曝光量。很多冲万单的店铺都用这一招。

    3、要善用低折扣秒杀商品引流。可以设置折扣:一杯饮料1元,两杯起订,第二杯原价。这样也会提高下单率。

    4、满减要有一个原则,就是第一档满减门槛比一杯饮料的价格高一点,让顾客有种再加几块钱就能得两杯的划算感。

    最后,奶茶店只靠外卖真的很难盈利,事先还是要选好位置,结合堂食收入。

    最后,可以关注我们的公众号“外卖玩家”,全部是原创的外卖运营技术干货,从不纸上谈兵,很多都是独家统计整理的。关注了不吃亏,不上当:)

    如果你想快速提高外卖单量,也可以加我的业务微信:wmwj-dh 电话:13046651698

    展开全文
  • 日前,”2020中国餐饮(品类)十大品牌“颁奖盛典落下帷幕。”2020中国餐饮(品类)十大品牌“”2020中国餐饮(细分品类)三甲品牌“两大奖项揭晓,160个餐饮品牌获此殊荣。其中,十大茶饮品牌榜单备受关注,上榜品牌个个...

    日前,”2020中国餐饮(品类)十大品牌“颁奖盛典落下帷幕。”2020中国餐饮(品类)十大品牌“”2020中国餐饮(细分品类)三甲品牌“两大奖项揭晓,160个餐饮品牌获此殊荣。

    其中,十大茶饮品牌榜单备受关注,上榜品牌个个实力不凡。茶颜悦色、书亦烧仙草、古茗、益禾堂、甜啦啦等品牌新进入十强。排名前十的品牌分别是喜茶、蜜雪冰城、奈雪的茶、coco都可、一点点、茶颜悦色、书亦烧仙草、古茗茶饮、益禾堂、甜啦啦。

    奶茶店的加盟这两年很是火爆,各地的小奶茶店遍布城市的大街小巷。哪些茶饮品牌投资回报率更高?网红奶茶品牌的真实销量怎么样?奶茶加盟真的挣钱吗?对实体经营不易有一定感知的餐饮老板,你是否对街头常见、品牌不一的奶茶连锁店的真实数据和盈亏状况好奇呢?

    今天,小编就以这十大茶饮品牌为例,在餐饮情报上查询对比各个品牌的数据,潮水褪去,数据说话!究竟谁才是奶茶品牌的销量王?

    在餐饮情报小程序的外卖数据中,我们选择品类-奶茶茶饮,按照不同维度对比,我们可以看到,6月外卖总销量排名前三的是一点点、蜜雪冰城、coco都可。总销量前十中,有3个品牌并不在十大茶饮品牌中,分别是贡茶(销量第7)、茶百道(销量第8)、沪上阿姨(销量第9),可见茶饮市场竞争激烈。喜茶(销量第11)、甜啦啦(销量第23)、茶颜悦色(排名第76),这3个实力强劲的品牌在6月外卖销量榜中并未进入前十。

    和5月对比,蜜雪冰城新增外卖单量117.6万,书亦烧仙草新增115.6万,增长势头强劲。益禾堂、古茗分别新增80.1万,69.2万,增幅明显。一点点和coco都可分别新增33.4万和26.1万,保持平稳较快增长。甜啦啦、喜茶、茶颜悦色均保持正增长。奈雪的茶外卖销量同比下降2.6万,成为唯一负增长的品牌。

    在十大茶饮品牌中,主攻低价市场的蜜雪冰城店铺数量最多,超过7000家店铺,几乎是第二名书亦烧仙草的2倍,益禾堂、coco都可的总店铺也超过了3000家。专注于直营、不加盟、不代理的茶颜悦色仅有84家门店,在十大品牌中店铺数量最少。

    在外卖月销量超过6000单的门店中,一点点有127家,占品牌总店铺数的4.54%;古茗有87家,占总店铺数的2.94%;coco都可有52家,占1.53%;益禾堂有49家,占1.37%;书亦烧仙草有34家,占0.90%;奈雪的茶有23家,占6.30%;蜜雪冰城有21家,占0.30%;喜茶有2家,占0.44%;6月,茶颜悦色和甜啦啦没有外卖销量超过6000的门店。

    6月外卖销量3000-6000单的门店中,奈雪的茶有148家,占品牌总店铺数的40.55%;一点点有784家,占28%;喜茶有111家,占24.45%。其余7个品牌占比均低于20%,其中茶颜悦色、蜜雪冰城、甜啦啦低于10%。

    6月外卖销量1000-3000单的门店中,喜茶有274家,占品牌总店铺数的60.35%;coco都可有1817家,占比为53.6%;奈雪的茶、一点点、书亦烧仙草、古茗等品牌均在40%-50%,其余品牌均低于40%。

    6月外卖销量小于1000单的门店中,甜啦啦有888家门店,占品牌总店铺数的91.45%;蜜雪冰城有4685家,占比为65.88%;益禾堂有1963家,占比为54.91%。其余品牌均低于50%。

    综上可见,在十大茶饮品牌中,喜茶、coco都可、书亦烧仙草、古茗、一点点的多数门店外卖月销量在1000-3000单,奈雪的茶大多数的店铺外卖月销量在1000-6000单不等。蜜雪冰城、甜啦啦、茶颜悦色、益禾堂的大多数的店铺外卖月销量低于1000单。其中甜啦啦、蜜雪冰城、益禾堂的外卖销量与低价位、着力下沉市场的定位有关,而茶颜悦色与品牌差异化定位和严控异地扩张等因素相关。

    餐饮投资人可以在餐饮情报小程序中查询到以上所有的数据,餐饮情报(微信小程序),通过建立众多餐饮品牌的信息数据,帮助餐饮创业者筛选出合适自己的创业项目,为加盟提供决策依据。

    餐饮情报整理了全网300多万家品牌餐饮门店信息及品牌工商关联数据,通过结构化处理,并对比分析数据模型,建立起品牌餐饮的多维度信息,包括工商信息、门店数、门店分布、门店增长趋势、闭店趋势、地区及品类排名、创业者日志、加盟投诉等。

    从2019年4月上线至今,平台的数据已经覆盖了全国330个城市,拥有37万意向投资者用户,付费品牌超过1000个,包括正新鸡排、张亮麻辣烫、沪上阿姨等。疫情期间依然保持高速的增长,以张亮麻辣烫直播为例,单场直播观看人次达96870次,截至目前已有830人报名,押金金额达816000元。

    在疫情之后,餐饮情报自主研发了针对餐饮招商垂类的直播工具。平台鼓励品牌把关于门店的各种视频上传到后台,比如门店人流、营业情况、品牌宣传视频等,让平台内容更加丰富,创业者有问题也可以和品牌方直接互动。

    餐饮情报根据餐饮品牌的不同特性,通过直播的形式,以数据为依托,筛选优质品牌进行直播,创业者在线上即可用少量金额锁定商圈。此外,餐饮情报以秒杀的形式推出了0元开店。0元开店自开播以来,为广大餐饮人提供了最优惠的加盟福利,受到餐饮全行业的大力支持!

    展开全文
  • 日前,”2020中国餐饮(品类)十大品牌“颁奖盛典落下帷幕。”2020中国餐饮(品类)十大品牌“”2020中国餐饮(细分品类)三甲品牌“两大奖项揭晓,160个餐饮品牌获此殊荣。其中,十大茶饮品牌榜单备受关注,上榜品牌个个...
  • Python爬取饿了么外卖店信息

    千次阅读 2018-12-22 16:44:09
    在学数据可视化,缺少点数据进行实操,就想着从饿了么上面爬点外卖店信息。 主要是获取数据,所以代码比较简陋,直接上代码: import requests import json import csv def crawler_ele(page=0): def get_page...
  • Python爬虫实战之爬取饿了么信息

    千次阅读 2019-06-13 23:17:28
    闲来无事,爬取大学城周边的饿了么夜晚外卖信息打发时间。 数据来源平台:饿了么 地点选择:新乡大学城(夜晚) 抓取地址:https://www.ele.me/place/wtw0tgvd7yr 抓取数据:店名(name)和店的口味(flavors)。 1....
  • 爬取饿了么商铺信息

    2021-06-08 07:18:46
    在首页的json文件中可以获取到,offset=0代表从0开始,页面显示24家商铺信息,由此构建url 通过这条url我们可以获得店铺名称,店铺地址和店铺电话等信息 2.png geohash算法的python版 而最后我们所需要做的只不过...
  • Scrapy爬取饿了么周围商家信息

    千次阅读 2019-06-11 16:55:39
    饿了么上有时会有商家活动,可以以很实惠(baipiao)的价格解决一餐。下面我将使用scrapy框架进行第一步——获取周围商家信息。 二、实验准备 在确定了目标后,我们首先要对目标网站进行分析,例如确定它是动态网页...
  • 最近在学协程异步python异步,想借此机会练习一下,而且网上用协程爬虫的文章好像不也不多,所以借此机会实验一番。 2.站点分析: 爬取的是eleme的h5页面,难度比较小,电脑端的需要登陆,而且是手机号码接收验证码...
  • 题目要求:在本练习,我们会借助cookies的相关知识,使用Python登录饿了么网站,爬取自己家附近的餐厅列表。 网站地址:https://www.ele.me/home/ 第一步,模拟手机号发送验证码 1。打开饿了吗登录界面,输入手机号,...
  • python 爬取网页中的图片到本地

    万次阅读 2016-10-15 21:13:23
    最近在学习python,顺便写一个爬取网页中图片的程序练练手。 主要分为两个过程: 第一,从给定域名的网页中爬取图片的链接 第二,读取链接对应的图片,保存到本地 第一个过程需要导入utllib包,在python2.7...
  • python饿了么外卖数据(1)

    万次阅读 2017-02-14 14:54:42
    python 3.6.0 openpyxl 2.4.2(操作excel) 2、目的 根据区域统计该区域附近的外卖商家总数、和所有商家的月销售情况 3、网页截图 首先我们通过这张图能发现 URL请求是:...
  • △点击图片即可获取全程回顾来自众安科技数据科学实验室的梅鵾也向同济大学设计创意学院的学生传授了python数据爬取的技能,包括网页基础以及构成,python...作者:李沁雅、陶宇琪、张天成、沈丹、贺弋桉2018年4月...
  • 如何爬取全国两千多个城市的经纬度?...……这次我们来试试通过饿了么爬取: import requests,csv,Geohash url='https://www.ele.me/restapi/shopping/v1/cities' headers={ 'referer': 'https:...
  • 此篇内容使用到了以下模块: 1.使用openpyxl实现excel的读写 2.使用pypinyin实现汉子转拼音 ...通过此次的学习可以爬取到全国2000多个城市指定位置附近的商家信息,如果再进一步挖掘的就具备...
  • 好,那接下来就要正式讲讲动态爬取图片了 其实动态爬虫,说白了,就是让程序模仿人为操作(例如:打开网页——打开某图片链接——选择图片(鼠标移到图片上)——右键——图片另存为)。那么,既然是要让程序模仿...
  • 需要爬取的内容是 限时抢购 用fiddler代理手机抓一下包。(具体fiddler如何代理手机参考这里:https://www.cnblogs.com/qingqing-919/p/8444828.html) 连接上手机后重新刷新一下app页面,找到返回数据的请求 ...
  • 模拟登录饿了么爬取指定地市以及指定区域的商家信息,根据用户输入的地市以及收货地址来爬取附件的商家信息
  • 文章目录基础爬虫部分Ⅴ爬取饿了么上的附近餐馆cookiessession获取登录的cookie分析过程(1) 模拟发送验证码(2) 使用session模拟登录(3) 模拟输入地址,获取必要参数(4) 带cookies和参数请求餐馆列表(5) 代码整合 ...
  • 在抓取动态页面的时候会出现一些特殊的情况导致...例如现在我想爬取一个饿了么的店铺里的商品信息和商品的价格 1.首先登陆饿了么的网页端https://h5.ele.me/ 2.登陆之后我们可以很明显看到是手机端的页面,按F12进...
  • 啥也不多说,我们今天要爬取的是小米应用商店排名前100的App,先来看来要爬取的东西长啥样 从上面的图可以看到,左侧是一个应用排行,但是只列出了前10个,好在右边列出了更多的应用,每一页显示了48个,也就是排名...
  • 在本练习,我们会借助cookies的相关知识,使用Python登录饿了么网站,爬取自己家附近的餐厅列表。 网站地址:https://www.ele.me/home/ 目的: 练习掌握cookies和session的用法 练习post和get请求 练习...
  • 对应CSDN文章:《Python爬虫实战之爬取饿了么信息》 适合人群:Python爬虫学习者、Python数据分析学习者、Pandas使用者、数据可视化学习者 难度:★★★☆☆ DangDang_Books: 内容:爬虫:当当网图书书名、书图...
  • 使用python爬取了学校(可改为任何地址为中心)周边饿了么外卖商家的数据,通过Excel、SPSS Modeler、基于地理的网络绘图等方法,对商家数据进行了可视化和分析。从服务、菜品、配送费、起送价等方面分析了店铺质量...
  • Python学习之路—初识Python 前言 本文主要内容是之前学习Python所写的学习日志,现今重新整理成文档,以便日后翻阅与查询,同时希望能帮助各位初识python的同学,如有错误和遗漏的地方,欢迎大家指正,谢谢。 基础...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 157
精华内容 62
关键字:

python爬取饿了么

python 订阅