用的方法:ajax异步加载返回json数据,仅用来学习(新手)。
美团的比较麻烦。。。它隔几天就会变一下。。
https://zh.meituan.com/meishi/
美团的反爬机制比较牛,所以我们登录后把cookie复制下来。
按F12点击Network刷新后找到请求头,复制cookie(全部)。
我们需要的信息:商圈、店铺名称、用户平均评分、用户评论数、店铺地址、人均价格、行政区域、菜系
然后点击香洲区,找到这个List,把Headers里面的url复制下来,preview里面就是我们要的json数据。
https://zh.meituan.com/meishi/api/poi/getPoiList?cityName=%E7%8F%A0%E6%B5%B7&cateId=0&areaId=162&sort=&dinnerCountAttrId=&page=3&userId=371478406&uuid=d79ba1eab725435385b8.1579782353.1.0.0&platform=1&partner=126&originUrl=https%3A%2F%2Fzh.meituan.com%2Fmeishi%2Fb162%2Fpn3%2F&riskLevel=1&optimusCode=10&_token=eJyNT8lu2zAQ%2FRdeI5jUStpAD3LkVvISWpLFKA5ysKzdNq3NluSi%2F14GTQ%2B9FRjgLfPwMPMTNE4MZjJCU4QkcE8aMAPyBE0MIIGuFRudqBrGBBENi8DxX09XdQlEDbPA7B0rU0nH5OPT8IR%2BlxWCJKygD%2BkPNYigiibmM%2BOICMi7rmpnED7yySUputuBT47XCxS8zQsYyYYCK65Ccct%2FJRUIRPVlJ6oFnr7w8IXdX70RP4rKtsi4YMmyZ2XQ0cEyXY%2BSsZCxsRjjYd6e1i%2FP7WlwNIvai0frR0%2FjD63s%2FVfNrGJTNYtbxjhbGecAK%2B5ayWKuWw9zn53wc5eR%2B07dZzRSNbjlxnA7loO9XkbMmSL%2FHI3zM6lt5qvLa%2BXMA%2FgS2rq6euN%2BGVKC03iI3ABTL%2FJ5%2F%2BChmlKU8HpbnChiZVJ5tU0iehxdC7X32nXLa5obCfHCrdWEbJObNczu7FzTJOffrZWs7%2FX%2BqZEPRZgGffla%2BSN2b7sFNpplkrPxsH%2BjazQf0s3Obr%2BBX78BFgii8w%3D%3D
这个url就是headers里面的url,我们可以找多几个url,发现它们都有page,这时我们就可以用python的format函数,填充。这样就来爬取到香洲区其它页面的了(第二页、第三页等…),如果要爬取其他区的,就在区域分类那里重新选择url。
然后后面的就是很简单的代码实现了,麻烦之处主要在于这个url。