如何在2026年抓取DoorDash、优步外卖和Grubhub的菜单数据

发布日期:2026-04-03 10:04:14   浏览量 :0
发布日期:2026-04-03 10:04:14  
0

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

如何在2026年抓取DoorDash、优步外卖和Grubhub的菜单数据

食品配送平台属于较难抓取的目标之一——它们采用激进的反机器人措施,要求提供位置参数,并且各平台的数据结构各不相同。以下是实际可行的方法,用于提取菜单数据、餐厅列表和价格信息。

DoorDash:菜单数据提取

DoorDash将菜单数据以JSON格式嵌入到页面的服务端渲染HTML中。这是最干净的方法——无需API身份验证:

import requests, re, json
from curl_cffi import requests as cf_requests

def scrape_doordash_menu(store_url: str) -> dict:
    """
    从DoorDash餐厅页面提取菜单数据。

    URL格式:https://www.doordash.com/store/restaurant-name-city-12345/
    """
    session = cf_requests.Session()

    headers = {
        "User-Agent": "Mozilla/5.0(Macintosh;Intel Mac OS X 10_15_7)AppleWebKit/537.36(KHTML,如Gecko)Chrome/124.0.0.0 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "Accept-Language": "en-US,en;q=0.9",
    }

    response = session.get(store_url, impersonate="chrome124", headers=headers)

    if response.status_code != 200:
        return {}

    html = response.text

    # DoorDash将数据嵌入到id为"__NEXT_DATA__"的script标签中(Next.js框架)
    # 其中包含完整的菜单结构
    pattern = r'

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部