Python爬虫实战之爬取饿了么信息

爬取饿了么某地区的外卖信息 闲来无事,爬取大学城周边的饿了么夜晚外卖信息打发时间, 数据生成josn格式的csv文件,生成词云以及食物信息统计图 数据来源平台 :饿了么 地点选择 :新乡大学城(夜晚) 抓取地址 :https://www

本文包含相关资料包-----> 点击直达获取<-------

爬取饿了么某地区的外卖信息

闲来无事,爬取大学城周边的饿了么夜晚外卖信息打发时间。

数据生成josn格式的csv文件,生成词云以及食物信息统计图

数据来源平台 :饿了么

地点选择 :新乡大学城(夜晚)

抓取地址 :https://www.ele.me/place/wtw0tgvd7yr

抓取数据 :店名(name)和店的口味(flavors)。

1.首先观察网页结构,需要登录饿了么官网,F12查看

找到以restaurants开头的信息,并双击打开

2.这时,可以观察到网页的结构信息,这时就比较简单了, 观察网页URL,发现‘offset=’在控制网页页数,limit为24。

```python def Getdata(page): # 爬虫 print('正在爬取第{}页'.format(page/24)) url = 'https://www.ele.me/restapi/shopping/restaurants?extras%5B%5D=activities&geohash=ww30b9kh3zmq&latitude=35.295722&limit=24&longitude=113.933798&offset='+str(page)+'&terminal=web' print(url) headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36", "cookie": "你的cookie信息"} html = requests.get(url, headers=headers) content = re.findall(r'"flavors":.*?,"next_business_time"', html.text) # 用正则获取包含数据的那部分 print(content)

for con in content:
    #print(con)
    jsonstring = "{" + con.replace(',"next_business_time"', "}")  # 完善格式,使其成为准确的json格式
    #print(jsonstring)
    jsonobj = json.loads(jsonstring)
    restaurant_id = jsonobj["id"]
    restaurant_name = jsonobj["name"].encode("gbk", "ignore").decode("gbk")
    print(restaurant_name)
    flavors = jsonobj["flavors"]
    restaurant_type = []
    for f in flavors:  # 有些flavors中只有一个值,有些有2个,所以要for循环
        restaurant_type.append(f["name"])
    restaurants.append(restaurant_name)  # 用于后面词云图
    foodtype.append(restaurant_type)  # 用于后面条形图
    data.append([restaurant_id, restaurant_name, restaurant_type])
with open("elemedata.csv", "w", newline="") as f:  # 保存数据到本地
    writer = csv.writer(f)
    writer.writerow(["restaurant_id", "restaurant_name", "restaurant_type"])
    for d in data:
        writer.writerow(d)
return restaurants, foodtype  # 返回值应用到下面2个函数

```

爬取结果如下

csv文件: 外卖种类信息直方图

除简餐外,炸鸡炸串,盖浇饭、烧烤是夜间外卖三巨头,果汁奶茶和川湘菜,面食也是大家的心头好。

词云图

观察在夜晚大学城炸鸡,汉堡类要比面食类更受欢迎,粥、香锅、麻辣烫也十分受欢迎。

原文链接

参考文献

  • 基于redis的分布式自动化爬虫的设计与实现(华中科技大学·曾胜)
  • 基于爬虫的网络新闻订阅和跟踪系统的设计与实现(华中科技大学·严园)
  • 面向多爬虫的监控系统的设计与实现(北京邮电大学·张军强)
  • 基于网络爬虫的基金信息抽取与分析平台(华南理工大学·陈亮华)
  • 基于增量反馈和自适应机制的主题爬虫系统的设计与实现(南京理工大学·王斐)
  • 面向中小学教育资源的网络爬虫的研究与设计(中央民族大学·郑名达)
  • 基于网络爬虫的水利信息聚合系统的设计与实现(华中科技大学·闫宁)
  • 金融信息实时发布系统的设计与实现(东北大学·伦健)
  • 面向人物简介的主题爬虫设计与实现(吉林大学·蒋超)
  • 金融信息实时发布系统的设计与实现(东北大学·伦健)
  • 复合规则驱动聚焦爬虫系统的设计与实现(哈尔滨工业大学·刘强)
  • 基于网络爬虫的数据采集系统设计与实现(东北大学·赵彦松)
  • 基于页面分析的网络爬虫系统的设计与实现(华中科技大学·郝以珍)
  • 主题微博爬虫的设计与实现(中原工学院·王艳阁)
  • 基于网络爬虫的基金信息抽取与分析平台(华南理工大学·陈亮华)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码导航 ,原文地址:https://bishedaima.com/yuanma/35956.html

相关推荐

  • SSM实现值班管理系统排班管理系统

    值班管理系统是现代组织中不可或缺的一部分,其对于人力资源的合理调配和工作效率的提升至关重要,随着信息技术的迅速发展,基于Spring,SpringMVC和MyBatis的值班管理系统(SSM实现值班管理系统)逐渐成为研究和应用的热点
    2024年05月07日
    11 1 5
  • 基于SSM的扶贫管理系统设计与实现,javaweb+mysql

    这是一个🔥🔥基于SSM的扶贫管理系统设计与实现🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 扶贫管理系统开发技术栈为SSM项目,可以作为毕业设计课程设计作业使用SSM框架(spring+springmvc+mybatis)设计实现一个扶贫信息管理系统
    2024年05月23日
    5 1 3
  • 基于Python的Django框架和Sqlite3数据库实现的机票预订系统

    基于Python的Django框架和Sqlite3数据库实现的机票预订系统 一,项目介绍 1,1 题目要求 要求实现的基本功能如下: 班机基本信息的管理 航班信息的管理 旅客预定机票
    2024年05月14日
    6 1 1
  • 基于SpringBoot框架的科研项目验收管理系统

    这是一套采用Java语言编写的🔥🔥SpringBoot框架科研项目验收管理系统源代码🔥🔥,该项目运用了SpringBoot和Vue技术栈,适用于Idea或Eclipse开发环境
    2024年05月23日
    7 1 1
  • 基于SpringBoot框架的智能家居系统

    这是一套采用Java编程语言,基于SpringBoot框架构建的智能家庭管理系统源代码,项目中融入了Vue技术,开发工具为Idea或Eclipse,此智能家居系统适用于作为毕业设计或课程实践项目
    2024年05月23日
    26 1 5
  • 基于SpringBoot框架的疫情信息管理系统

    这是一套采用Java语言构建的COVID-19信息管理系统,其基础为SpringBoot框架,该系统运用了SpringBoot和Vue,js的技术栈,支持在Idea或Eclipse开发环境中运行
    2024年05月23日
    8 1 4
  • 基于Springboot和Freemark实现的毕业设计选题系统

    基于Springboot和Freemark实现的毕业设计选题系统 摘 要 伴随着我国高校招生发展趋势的不断扩大,各大高校教学方式的难题和工作量不断增加
    2024年05月14日
    4 1 3
  • 基于Java+SSH的企业人事管理系统

    在当前信息技术高速发展的时代背景下,企业人事管理系统的建设已成为提高企业运营效率,优化人力资源管理的必然需求,基于Spring, Struts2, Hibernate,Java的企业人事管理系统具有权限管理
    2024年05月07日
    6 1 1
  • 自然语言处理作业之Python

    自然语言处理作业 实验内容: 实现基于词典的分词方法和统计分词方法:两类方法中各实现一种即可; 对分词结果进行词性标注,也可以在分词的同时进行词性标注; 对分词及词性标注结果进行评价
    2024年05月14日
    3 1 1
  • 基于ssm框架的在线医院挂号系统

    HospitalSystem 参考文献 医疗挂号系统服务端的设计与实现(北京邮电大学·郑朝杰) 基于MVC模式的医院预约挂号管理系统的设计与实现(广西大学·戴铭孚) 基于SSM的综合医养平台的设计与实现(吉林大学·宋恩旭) 网上预约挂号系统的设计与实现(华中科技大学·游国强) 基于Android平台的预约挂号系统的设计与实现(江西财经大学·赵震) 在线医疗管理系统的研究与实现(辽宁科技大学·薄翔) 基于J2EE架构的医疗信息服务平台的设计与实现(北京交通大学·张颖彬) 医疗挂号系统运营支撑平台的设计与实现(北京邮电大学·孟祥建) 基于Android平台的预约挂号系统的设计与实现(江西财经大学·赵震) 基于J2EE架构的医疗信息服务平台的设计与实现(北京交通大学·张颖彬) 基于
    2024年05月14日
    9 1 3

发表回复

登录后才能评论