1. 程式人生 > >爬蟲實戰----美團外賣商家資料介面分析

爬蟲實戰----美團外賣商家資料介面分析

本文發表於2017年11月6號,不保證其在之後的時間仍適用,只作例子分享

準備工作

  1. 抓包工具:Fiddler,Firebug等工具,此文使用Chrome瀏覽器自帶的抓包工具

介面分析(從H5端入手)

首先進入美團外賣h5的商家列表頁

按F12開啟Chrome的除錯工具,回到頁面,將頁面下拉,觸發載入店鋪列表的ajax請求,如圖
這裡寫圖片描述

分析請求資訊

這裡寫圖片描述

標記的內容是後續將要用到的資訊,cookie中需要包含經緯度資訊,通過觀察可以發現,小數點被抹平,並且緯度保持在8位,經度保持在9位。referer就是示例地址(見上文)。查詢字串中,有用的引數也是經緯度資訊(別去管_token)。請求體中page_index引數表示請求的頁數索引。

分析返回內容

將此請求拿到的json格式化(直接貼上到json.cn):如圖
這裡寫圖片描述
這個包可以得到店鋪列表中所有店鋪的概況資訊,包括起送價,配送費等,poilist物件陣列就是店鋪列表所在,記錄下id欄位,後續將用到

模擬提交測試

這裡寫圖片描述
注意此處使用C#的HttpWebRequest類進行提交時,應該將Http版本修改為1.1,並且設定Expect100Continue為false

採集店鋪詳細資訊

返回到頁面,點選進入一家店鋪,首先檢視連結格式http://i.waimai.meituan.com/restaurant/ + “id” 其中id就是上一步中記錄的id欄位(這個Id是基於一定的演算法生成的,在網頁端中有效期為2小時左右,h5中本人未作測試)


同樣使用除錯工具抓到這個包
這裡寫圖片描述
格式化此介面返回的資料,可以看到店鋪詳情
這裡寫圖片描述
上面的介面沒有店鋪的證件資訊
這裡寫圖片描述

證件地址
這裡寫圖片描述

模擬提交

這裡寫圖片描述

總結

分析下來可以看到所有用到的介面都和經緯度掛鉤,其中Url中的經緯度和Cookie中的不一樣。C#的Http請求是一個坑(FrameWork 4.0),這幾個介面中使用預設的1.0版本的Http版本將無法正確獲得資料(但是帶上token值可以獲取一次,蘇飛的Httphelper框架預設使用了1.1版本所以直接能用)

附上Http版本和Expect100Continue設定方法

首先引用名空間

using System.Net;

設定

#region Request建立
    WebRequest webRequest = null;
    try
    {
        //建立一個WebRequest
        webRequest = WebRequest.Create(RequestUrl);
    }
    catch
    {
        Console.WriteLine("初始化Request出錯:{0}", RequestUrl);
        return null;
    }
#endregion
    //強制轉化為HttpWebRequest
    var Request = webRequest as HttpWebRequest;
    //設定100Continue行為
    Request.ServicePoint.Expect100Continue = true;
    //設定HttpVersion
    Request.ProtocolVersion = HttpVersion.Version11;

題外話

此處點到為止

本文更新於2017年11月6號

相關推薦

爬蟲實戰----商家資料介面分析

本文發表於2017年11月6號,不保證其在之後的時間仍適用,只作例子分享 準備工作 抓包工具:Fiddler,Firebug等工具,此文使用Chrome瀏覽器自帶的抓包工具 介面分析(從H5端入手) 首先進入美團外賣h5的商家列表頁

商家獲取訂單-signToken取值

post ima gsl ffffff hid eve extend -1 ati 所需工具: findller chrome 獲取外賣歷史訂單地址為: http://e.waimai.meituan.com/v2/order/history/r/query?getNe

移動Web APP開發之實戰 高清無密 百度網盤

管理 如何 第6章 代碼管理 view 優化 移動web webp flex 第1章 課程介紹 通過課程介紹,了解學習課程的必要性,所包含的知識點,課程安排,學習前提,課程收獲,快速全面了解課程。 1-1 課程導學 第2章 移動web硬知識點 本章主要講解移動web開發中必

移動Web APP開發之實戰

第1章 課程介紹 通過課程介紹,瞭解學習課程的必要性,所包含的知識點,課程安排,學習前提,課程收穫,快速全面瞭解課程。 1-1 課程導學 第2章 移動web硬知識點 本章主要講解移動web開發中必要掌握的基本知識,是進行後續學習的前提。從概述到開發除錯方法

最新移動Web APP開發之實戰

1.1 在設定中勾中Build project automatically 1.2 使用快捷鍵Ctrl + shift + alt + /,開啟Maintenance操作面板,選擇Registry,開啟Registry操作面板 1.3 找到並勾線"compiler.aut0mak

移動WebAPP開發之實戰視訊教程

第1章 課程介紹通過課程介紹,瞭解學習課程的必要性,所包含的知識點,課程安排,學習前提,課程收穫,快速全面瞭解課程。1-1 課程導學第2章 移動web硬知識點本章主要講解移動web開發中必要掌握的基本知識,是進行後續學習的前提。從概述到開發除錯方法,以及viewport視窗概念和原理的講解,在到移動web開發

資料應用案例】語音助手

案例來源:@美團技術團隊 0. 背景:騎手在配送時打電話有三個困難:     1)決策複雜:什麼時候打電話?打晚了影響配送速度,打早了影響使用者體驗     2)操作繁瑣與危險:一次操作手機要5-6個操作,大部分在騎電瓶車的時候使用,很危險 1. 目標:美

WeGeek Talk |

今天前來專欄分享的極客,是來自美團外賣的小程式前端團隊。 在 2017 年 1 月 9 日,美團外賣作為首批小程式正式上線,截止到目前,美團外賣小程式 DAU 已近千萬。但事實上,美團外賣早期時更多的是主打手機網頁端,在美團外賣的小程式剛上線時並沒有過多去維護,之後才與微信官方有了更多交流。

下午不知道吃什麼?用Python爬取評論幫你選餐!

一、介紹 朋友暑假實踐需要美團外賣APP評論這一份資料,一開始我想,這不就抓取網頁原始碼再從中提取資料就可以了嗎,結果發現事實並非如此,情況和之前崔大講過的分析Ajax來抓取今日頭條街拍美圖類似,都是通過非同步載入的方式傳輸資料,不同的是這次的是通過JS傳輸,其他的基本思路基本一致,希望那些資料

iOS App冷啟動治理:來自的實踐

一、背景 冷啟動時長是App效能的重要指標,作為使用者體驗的第一道“門”,直接決定著使用者對App的第一印象。美團外賣iOS客戶端從2013年11月開始,歷經幾十個版本的迭代開發,產品形態不斷完善,業務功能日趨複雜;同時外賣App也已經由原來的獨立業務App演進成為一個平臺App,陸續接入了閃購、跑腿等其他

iOS App冷啟動治理

一、背景 冷啟動時長是App效能的重要指標,作為使用者體驗的第一道“門”,直接決定著使用者對App的第一印象。美團外賣iOS客戶端從2013年11月開始,歷經幾十個版本的迭代開發,產品形態不斷完善,業務功能日趨複雜;同時外賣App也已經由原來的獨立業務App演進成為一個平臺App,陸續接入了閃購、跑腿等其他

:日訂單量超1600萬的自動化業務運維之路

背景 美團外賣業務在網際網路行業是非常獨特的,不僅流程複雜——從使用者下單、商家接單到配送員接單、交付,而且壓力和流量在午、晚高峰時段非常集中。同時,外賣業務的增長非常迅猛,自2013年11月上線到最近峰值突破1600萬,還不到4年。在這種情況下,一旦出現事故,單純靠人工排查解決問題,存在較多的侷限

訂餐網站原始碼模板多使用者帶後臺 仿餓了麼o2o

系統簡介: 網上訂餐系統,是石家莊晟訊網路科技有限公司為滿足眾多餐飲外賣企業的迫切需要,開發定製的一款成熟的“B2C網上訂餐系統”。目前已經運用到全國各地,網上點餐系統致力於幫助專業從事餐飲外賣企業或有外賣業務的餐飲企業快速部署外賣訂餐系統,拓展網路外賣訂餐業務

如何一鍵獲取數百萬商家資料

本文主要介紹“外賣商家”資料來源的使用方法,以及資料獲取、釋出及匯出過程中可能出現的問題。 近年來,由於居民人均可支配收入的提升、工作生活節奏的加快、人們用餐習慣的改變和餐飲行業的深度網際網路化等因素,外賣得以飛速發展,眾多餐飲商家紛紛加入配送外賣行列,為進一步幫助您瞭解這群外賣商家的行

微信小程式(初學篇)——仿

初識小程式,為它的小巧玲瓏所吸引,不由得心血來潮。這不正是使用者所需要的嗎?既方便快捷,又不佔手機記憶體。所以我下定決心一定要做出一個自己的小程式,然後賺錢、賺錢、賺錢...當然現在只是學習階段,所以先仿一個高階產品來挑戰自我吧。說到高階,自然然而的就想到了美團。之後噼裡啪

Android仿點菜聯動列表

Android高仿美團外賣點菜聯動列表效果 最近專案中有一個新增購物車的需求,需要做成美團外賣點菜聯動ListView的效果,可能有的朋友覺得這很簡單,不就是2個Listview點選事件聯動處理機制嗎?沒錯,基本思路就是這樣子,只是美團外賣點菜效果上有一種根據

日訂單超1000萬,是如何設計廣告推送系統的?

在 2013 年,美團一直靠資本推動拉新,到 2015 年,為了達到收支平衡,美團開始考慮商業變現。從 2016 年初到 2017 年,美團針對商業變現做了兩套廣告系統,並上線投入使用。本文由美團外賣商業技術負責人王興星與大家分享外賣業務合理變現系統的設計過程及相關經驗

【筆記】從架構到演算法,詳解訂單分配內部機制

1)採用迭代的方式,通過訂單分配優化演算法進行初始的訂單分配,然後通過騎手路徑優化演算法獲取各騎手的最佳行駛路線,進而,訂單分配優化演算法根據騎手路徑優化結果調整分配方案。這兩個層次不斷反覆迭代,最終獲得比較滿意的解 (adsbygoogle = window.adsbygoogle

訂單中心的演進

前言 美團外賣從2013年9月成交第一單以來,已走過了三個年頭。期間,業務飛速發展,美團外賣由日均幾單發展為日均500萬單(9月11日已突破600萬)的大型O2O網際網路外賣服務平臺。平臺支援的品類也由最初外賣單品拓展為全品類。 隨著訂單量的增長、業務複雜度的提升,外賣訂單系統也在不斷演變進化,從早期

如何獲取餓了麼商家資料

cloud.fandaweb.com凡達雲專業的資料採集平臺,為你提供餓了麼外賣商家資料採集,採集資訊覆蓋:店鋪名稱、省份、城市、地區、地址、經度、緯度、所屬品類、是否為品牌店、配送、電話、營業時間、近期銷量、活動、起送價、配送費、是否為新店、商家評分、總體評分