美团商品各项数据(1.爬取)

程序

import requests
import time
import json
import pandas as pd

这里只需要这四个库,pandas主要作保存数据用

headers={#这里填写请求头,主要为cookie,User-agent
}
rows = []
n = 0
#num_list = ['单1一', '2二双', '3三', '4四', '5五', '6六', '7七', '8八', '9九', '10十']
for i in range(100):url = 'https://cd.meituan.com/meishi/c17/pn'+str(i+1)+'/'res = requests.get(url, headers=headers)html = res.content.decode(res.apparent_encoding)for i in range(len(html)):if html[i:i+8] == 'poiInfos':for j in range(i+8, len(html)):if html[j:j+9] == 'comHeader':html = html[i+10:j-3]result = json.loads(html)    #json库解析htmlfor i in result:row = []#row.append(i['title'])#row.append(str(i['poiId']))row.append(str(i['avgScore']))row.append(str(i['allCommentNum']))row.append(str(int(i['avgScore']*i['allCommentNum'])))row.append(str(i['avgPrice']))for key, value in i.items():if key == 'address':address = ''for j in value:if j != '区' and j != '市':address += jelse:row.append(address+j)breakif key == 'dealList' and i['dealList'] != None:soldCounts_total = 0#soldCounts_total_num = 0for j in value:if '券' not in j['title']:#num = 0soldCounts_total += j['soldCounts']#for i in range(len(j['title'])):#if j['title'][i] == '人' or '位' or '个' or '份':#for x in range(10):#if j['title'][i-1] in num_list[x] and num == 0:#row.append([j['price'], j['soldCounts']])#soldCounts_total_num += j['soldCounts']*(#x+1)# print(x+1, j['soldCounts'])#num += 1if soldCounts_total != 0:row.append(str(soldCounts_total))#row.append(str(soldCounts_total_num))# time.sleep(0.5)#urls = 'https://www.meituan.com/meishi/'+row[1]+'/'#ress = requests.get(urls, headers=headers)#htmls = ress.content.decode(ress.apparent_encoding)# for i in range(len(htmls)):# if htmls[i:i+10] == 'extraInfos':# for j in range(i+10, len(htmls)):# if htmls[j:j+15] == 'hasFoodSafeInfo':#htmls = htmls[i+12:j-2]#results = json.loads(htmls)# if len(results) == 0:# row.append(0)# row.append(0)# elif len(results) == 1:# row.append(1)# row.append(0)# else:# row.append(1)# row.append(1)if len(row) == 6 and row[2] != 0 and row[3] != 0 and row[-1] != 0:rows.append(row)time.sleep(0.5)n += 1print('已经完成{}'.format(n))# print(html)
# 写入数据
output = pd.DataFrame(rows)
#print(output.iloc[:, 6])
output.to_csv('meituan huoguo.csv')

代码简单易懂,此处不再说明,只需要对照解析的html即可理解,加注释的部分供参考,可自行探索。此后将尝试爬取店铺的评论以及对数据的分析。

美团商品各项数据(1.爬取)相关推荐

  1. python爬取网页json数据_python爬取json数据库

    手把手教你使用Python抓取QQ音乐数据(第一弹) [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. [二. ...

  2. Python—爬虫之Network,XHR,json 带参数请求数据(爬取歌单、歌词)

    Python-爬虫之Network,XHR,json & 带参数请求数据(爬取歌单.歌词) Network是什么,能做什么 XHR要如何请求 json格式的转换 带参数请求数据 修改请求头,便 ...

  3. 生成osm文件_超酷城市肌理!地理数据信息爬取方法大全(B篇)DEM+POI+OSM

    WENWEN:这一弹是对第一弹的补充和深化讲解,上一弹请点击常用的地理数据信息爬取方法大全(前期场地信息获取第一弹),关于DEM获取地形地理空间数据云提交任务一直在排队的问题,这个应该是官网的问题,不 ...

  4. python爬取公交车站数据_Python爬虫实例_城市公交网络站点数据的爬取方法

    爬取的站点:http://beijing.8684.cn/ (1)环境配置,直接上代码: # -*- coding: utf-8 -*- import requests ##导入requests fr ...

  5. Python实现对主要城市及其周边地区天气数据的爬取

    python爬虫学习爬虫(爬取指定网站数据) Python实现对主要城市及其周边地区天气数据的爬取,关键步骤已经做了注释此版本仅是初学者的学习版,不喜勿喷 #coding: utf-8 import ...

  6. python 北上资金_python爬虫技术:北向资金数据自动爬取!

    好久不见!今天我们继续python的话题啦.python现在势头凶得很,没事刷抖音.刷朋友圈.看公众号,弹出的广告总少不了python."python带你发家致富,财富自由!"广告 ...

  7. scrapy框架之全站数据的爬取

    全站数据的爬取有俩种方式: 1.基于spider的全站数据爬取:需要自己进行分页操作,并进行手动发送请求 2.基于CrawlSpider ,今天主要讲解基于CrawlSpider 的爬取方式 Craw ...

  8. php 爬取股票数据库,【实例】--股票数据定向爬取

    从股票列表网页获取股票代码 根据股票代码去股票详情页面获取股票详细信息 1. 股票列表页面 凤凰网财经-股票信息 http://app.finance.ifeng.com/list/stock.php ...

  9. 如何爬一个网站的数据-免费爬取网站的任意数据软件

    如何爬一个网站的数据?爬取网络数据大家称之为网络爬行 收集页面以创建索引或集合.另一方面,网络抓取下载页面以提取一组特定的数据用于分析目的,例如,产品详细信息.定价信息.SEO 数据或任何其他数据集. ...

最新文章

  1. python建站与java建站有何不同_详解模板建站和定制建站的不同之处
  2. SpringBoot基础系列-SpringCache使用
  3. 手动创建DataTable
  4. unipapp 解决无法编译sass_Sass教程一:Sass概况
  5. OpenCV离散傅立叶变换
  6. Java的原始字符串文字
  7. python中有数组吗_python里面有数组吗
  8. git 常用操作,撤销修改
  9. 妲己机器人怎么升级固件_OnRobot新增爱普生川崎机器人套件、HEX固件升级
  10. Windows Terminal Preview 1910 发布
  11. 再谈MySQL全库备份
  12. Yocto系列讲解[理论篇] 45 - bb文件中函数实操演示(3)继承自己的class
  13. 北京内推 | 微软亚洲研究院智能多媒体组招聘CV/NLU/RL方向算法实习生
  14. 小白轻松使用axis2构建webservice
  15. 帝国cms用自定义反馈做在线报名等系统
  16. 不再追求安全感,你才能走向成熟。
  17. 国家企业信息公示贵州 滑块打码验证
  18. 职称计算机ppt教程,职称计算机考试WPS教程:幻灯片格式的设置
  19. 华为android系统登录到网络怎么解决,总是提示“登陆到WLAN网络”
  20. wlanFineCFOEstimate 详解

热门文章

  1. APICloud的发展和应用
  2. 《影响力》读书笔记(一)
  3. RCP-601 CPCI刀片计算机
  4. thinkpad x1 carbon gen 6 无法充电(静电故障?)
  5. 优化win2d实现的萤火虫粒子效果
  6. 【赵强老师】MapReduce编程案例之求工资总额
  7. IT30:新门店开业前IT准备工作!
  8. 2023,瑞幸咖啡的出海元年?
  9. Stripes简介(转)
  10. SQLite 数据类型