日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python — 爬取饿了么外卖店信息

發布時間:2024/1/1 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python — 爬取饿了么外卖店信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在學數據可視化,缺少點數據進行實操,就想著從餓了么上面爬點外賣店信息。

主要是獲取數據,所以代碼比較簡陋,直接上代碼:

import requests import json import csvdef crawler_ele(page=0):def get_page(page):url = 'https://h5.ele.me/restapi/shopping/v3/restaurants?latitude=xxxx&longitude=xxxx&offset={page}&limit=8&terminal=h5'.format(page=page*8)headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36",'cookie': r'xxxx'}re = json.loads(requests.get(url,headers=headers).text)return rere = get_page(page)if re.get('items'):with open('data.csv','a',newline='') as f:writer = csv.DictWriter(f,fieldnames=['名稱', '月銷售量','配送費', '起送價', '風味','評分', '配送時長', '評分統計', '距離', '地址'])writer.writeheader()for item in re.get('items'):info = dict()restaurant = item.get('restaurant')info['地址'] = restaurant.get('address')info['配送費'] = restaurant.get('float_delivery_fee')info['名稱'] = restaurant.get('name')info['配送時長'] = restaurant.get('order_lead_time')info['距離'] = restaurant.get('distance')info['起送價'] = restaurant.get('float_minimum_order_amount')info['評分'] = restaurant.get('rating')info['月銷售量'] = restaurant.get('recent_order_num')info['評分統計'] = restaurant.get('rating_count')info['風味'] = restaurant.get('flavors')[0].get('name')writer.writerow(info) # print(info)if re.get('has_next') == True:crawler_page(page+1)crawler_ele(0)

在這里簡單注釋幾句:

  • url 中的經緯度去掉了,可以自行查詢添加需要爬取地點的經緯度,也可以通過調用地圖api獲取經緯度;
  • headers 需要加 Cookies ,不然會有登錄權限限制爬取頁數;
  • 最后調用的是遞歸不是循環,所以保存結果的 csv 文件里面會有多個重復表頭,可以用 Excel 打開刪除重復值就可以了。

ps:開得最多賣的最好的還是快餐店。。。

總結

以上是生活随笔為你收集整理的Python — 爬取饿了么外卖店信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。