用Python爬取美团烤肉店数据并分析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Python爬取美团烤肉店数据并分析 美团网很明显是动态网页,需要通过解析接口或用Selenium爬取,假如您对动态网页爬虫感爱好,可查看J哥往期原创文章「 实战|Python轻松实现动态网页爬虫(附具体源码)」,本文通过解析接口的方法爬取数据。 找到真实URL 美团网URL:/ 查找流程 分析真实URL /group/v4/poi/pcsearch/30?uuid=你的userid=-1limit=32offset=32cateId=-1q=%E7%83%A4%E8%82%89? 次要参数: 30:城市id(30代表深圳) limit:每页店铺数量 offset:翻页参数(每添加32翻页一次) q:关键字(本例为烤肉) 按上述接口爬取只能获得1024个店铺数据,为了获得更全面数据,还需找到areaId参数(子地区),然后遍历子地区,即可获得完整数据。限于篇幅,仅给出核心代码。 def get_meituan(): try: for areaId in areaId_list: for x in range(0, 2000, 32): time.sleep(random.uniform(2,4)) #设置睡眠时间 print(正在提取areadId为%d的%areaId,第%d页%int((x+32)/32)) #打印爬取进度 url = /group/v4/poi/pcsearch/30?uuid=你的userid=-1limit=32offset={0}cateId=-1q=%E7%83%A4%E8%82%89areaId={1}.format(x,areaId) print(url) headers = { Accept: */*, Accept-Encoding: gzip, deflate, br, Accept-Language: zh-CN,zh;q=0.9, Connection: keep-alive, Cookie:你的, User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36, Host: , Origin: , Referer: /s/%E7%83%A4%E8%82%89/ } response = requests.get(url, headers=headers) print(response.status_code) 数据处理 短短几分钟就爬下了2万多个烤肉店信息,为了便利可视化分析,还需要对爬取的数据进行简约清洗。 本文数据清洗次要用到Python的Pandas库,假如您对Pandas感爱好,可查看J哥往期原创专辑「 Pandas基础系列」,共五篇。 导入数据 导入数据并添加列名,用sample()方法随机抽取5个样本数据预览。 import pandas as pd import numpy as np df = pd.read_csv(/Users/wangjia/Documents/技术公号/公号项目/2.spider/美团/深圳烤肉1.csv, names = [店铺名称, 店铺地址, 人均消费, 店铺评分, 评论人数, 所在商圈, 图片链接,店铺类型,联系方式]) df.sample(5) 查看数据类型 用Info()方法查看各字段数据类型,符合预期,无需转换。 () RangeIndex: 21925 entries, 0 to 21924 Data columns (total 9 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 店铺名称 21925 n

文档评论(0)

duanbingbing + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档