美团外卖Token值计算(借助CefSharp)

爬取美团外卖商家列表时发现请求中有个名为token的加密参数,如下图
美团外卖Token值计算(借助CefSharp)_第1张图片
本文介绍如何获得这个token值

1.通过浏览器调试找到计算token值的代码位置
美团外卖Token值计算(借助CefSharp)_第2张图片
位于 http://waimai.meituan.com/static/js/module/get-restaurants.js?v=1.07 的 “Rohr_Opt.reload” 方法

2.下断点,手动触发请求,发现传入的参数值为:

"http://waimai.meituan.com/ajax/poilist?"+Postdata

这里需要注意postdata严格按照字母顺序排序 例如:

"classify_type=cate_all&sort_type=0&price_type=0&support_online_pay=0&support_invoice=0&support_logistic=0&page_offset=41&page_size=20&mtsi_font_css_version=b05eaa31&uuid=GSRUoHDoIy4VVxk9-tRqp2AMUOBZ_HgDtG2yEvv5mFOL_FvVngB2bqT1GK-L0RBy&platform=1&partner=4&originUrl=http%3A%2F%2Fwaimai.meituan.com%2Fhome%2Fwtq3wwpb65b0"

在这里插入图片描述

3.使用CefSharp调用Rohr_Opt.reload

CefSharp使用参考

        private void button1_Click(object sender, EventArgs e)
        {
            string rooturl = "http://waimai.meituan.com/ajax/poilist?";
            String postdata = "classify_type=cate_all&sort_type=0&price_type=0&support_online_pay=0&support_invoice=0&support_logistic=0&page_offset=21&page_size=20&uuid=EimLRHjzQpTi079gJwd6Ao8MacG0IQmRDvUomOwD6K2st8IojdJp3Sr5UnseXgpr&platform=1&partner=4&originUrl=http%253A%252F%252Fwaimai.meituan.com%252Fhome%252Fwrr2hqq7049v";
            String script = "Rohr_Opt.reload(\""+rooturl+postdata+"\")";
            var a = this.WebBrowser.EvaluateScriptAsync(script).Result;
            String url = "http://waimai.meituan.com/ajax/poilist?_token=" + a.Result.ToString();
       
            MessageBox.Show(a.Result.ToString());
        }

4.效果演示
美团外卖Token值计算(借助CefSharp)_第3张图片
5.代码分享及注意事项
如果出现下图错误,请把项目改为x86平台
美团外卖Token值计算(借助CefSharp)_第4张图片
在这里插入图片描述
关注公众号回复"美团token"即获得项目下载地址(免费)
或直接下载(5积分)
美团外卖Token值计算(借助CefSharp)_第5张图片
请勿用于非法用途

你可能感兴趣的:(爬虫,C#,.Net,cefsharp)