当前位置:   article > 正文

python-爬虫 抓取美食板块商家数据_爬取美食店铺信息点赞人气

爬取美食店铺信息点赞人气

 

  1. import pprint
  2. import requests
  3. import csv
  4. import re
  5. url='http://meishi.meituan.com/i/api/channel/deal/list'
  6. headers={
  7. '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',
  8. 'Referer': 'http://meishi.meituan.com/i/?ci=790&stid_b=1&cevent=imt%2Fhomepage%2Fcategory1%2F1',
  9. 'Cookie': '填自己的'}
  10. data={
  11. 'app': '""',
  12. 'areaId': '0',
  13. 'cateId': '1',
  14. 'deal_attr_23': '""',
  15. 'deal_attr_24': '""',
  16. 'deal_attr_25': '""',
  17. 'limit': '10',
  18. 'lineId': '0',
  19. 'offset': '0',
  20. 'optimusCode': '10',
  21. 'originUrl': '"http://meishi.meituan.com/i/?ci=790&stid_b=1&cevent=imt%2Fhomepage%2Fcategory1%2F1"',
  22. 'partner': '126',
  23. 'platform': '3',
  24. 'poi_attr_20033': '""',
  25. 'poi_attr_20043': '""',
  26. 'riskLevel': '1',
  27. 'sort': '"default"',
  28. 'stationId': '0',
  29. 'uuid': '"0f20dff3e2fa4497879a.1651895026.1.0.0"',
  30. 'version': '"8.2.0"',
  31. }
  32. response=requests.post(url=url,data=data,headers=headers).json()
  33. dd=response['data']['poiList']['poiInfos']
  34. f=open('./data.csv','a',encoding='utf-8',newline='')#a 是追加保存
  35. csv_write=csv.DictWriter(f, fieldnames=[
  36. '店铺名',
  37. '饮食类型',
  38. '最低消费',
  39. '评分',
  40. '商圈',
  41. '商家地址',
  42. '商家电话',
  43. '商家网址',
  44. ])
  45. csv_write.writeheader()
  46. for i in dd:
  47. dit={
  48. '店铺名':i['name'],
  49. '饮食类型':i['cateName'],
  50. '最低消费':i['avgPrice'],
  51. '评分':i['avgScore'],
  52. '商圈': i['areaName'],
  53. '商家网址':'https://meishi.meituan.com/i/poi/'+i['poiid']
  54. }
  55. header = {
  56. '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',
  57. 'Cookie':'填自己的',
  58. 'Referer':'http://meishi.meituan.com/i/?ci=790&stid_b=1&cevent=imt%2Fhomepage%2Fcategory1%2F1',
  59. }
  60. hh = requests.get(url=dit['商家网址'],headers=header).text
  61. obj = re.compile(r'addr":"(?P<addr>.*?)","phone":"(?P<phone>.*?)"')
  62. result = obj.finditer(hh)
  63. for item in result:
  64. addr = item.group('addr')
  65. phone = item.group('phone')
  66. dit['商家地址']=addr
  67. dit['商家电话']=phone
  68. print(dit)
  69. csv_write.writerow(dit)

测试结果:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/138024
推荐阅读
相关标签
  

闽ICP备14008679号