TO DO

  • ajax??

In [35]:
import requests, logging,json
from bs4 import BeautifulSoup

In [2]:
#饿了么
ele_chuan_hun = 'https://www.ele.me/shop/1363704'       #川魂
ele_chuan_xiang = 'https://www.ele.me/shop/161454779'   #川香
ele_da_pai = 'https://www.ele.me/shop/157458264'        #大牌冒菜

ele_urls=[ele_chuan_hun,ele_chuan_xiang,ele_da_pai]

In [26]:
#jason url
e_info='https://www.ele.me/restapi/shopping/restaurant/shop_id?extras[]=activities&extras[]=license&extras[]=identification&extras[]=albums&extras[]=flavors&latitude=31.24667&longitude=117.29009'
e_rating='https://www.ele.me/restapi/ugc/v1/restaurants/shop_id/rating_scores?latitude=31.24667&longitude=117.29009'
e_rating_catagories='https://www.ele.me/restapi/ugc/v1/restaurant/shop_id/rating_categories'
e_base_urls=[e_info,e_rating_catagories,e_rating]

requests 获取html


In [31]:
def get_html(url):
    try:
        r=requests.get(url,timeout=16)
        status=r.status_code
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except:
        now_time=time.strftime('%Y%m%d%H%M%S')
        logging.info(now_time +'      ' +'get_html 异常, ' '    url:'+ url)   
        

def get_json(url):
    try:
        r=requests.get(url,timeout=16)
        status=r.status_code
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.json()
    except:
        now_time=time.strftime('%Y%m%d%H%M%S')
        logging.info(now_time +'      ' +'get_html 异常, ' '    url:'+ url)

In [21]:
eid_ch='1363704'
eid_cx='161454779'
eid_dp='157458264'
eids=[eid_ch,eid_cx,eid_dp]

In [52]:
for base_url in e_base_urls:
    for id in eids:
        url= base_url.replace('shop_id',id)
        print(url)


https://www.ele.me/restapi/shopping/restaurant/1363704?extras[]=activities&extras[]=license&extras[]=identification&extras[]=albums&extras[]=flavors&latitude=31.24667&longitude=117.29009
https://www.ele.me/restapi/shopping/restaurant/161454779?extras[]=activities&extras[]=license&extras[]=identification&extras[]=albums&extras[]=flavors&latitude=31.24667&longitude=117.29009
https://www.ele.me/restapi/shopping/restaurant/157458264?extras[]=activities&extras[]=license&extras[]=identification&extras[]=albums&extras[]=flavors&latitude=31.24667&longitude=117.29009
https://www.ele.me/restapi/ugc/v1/restaurant/1363704/rating_categories
https://www.ele.me/restapi/ugc/v1/restaurant/161454779/rating_categories
https://www.ele.me/restapi/ugc/v1/restaurant/157458264/rating_categories
https://www.ele.me/restapi/ugc/v1/restaurants/1363704/rating_scores?latitude=31.24667&longitude=117.29009
https://www.ele.me/restapi/ugc/v1/restaurants/161454779/rating_scores?latitude=31.24667&longitude=117.29009
https://www.ele.me/restapi/ugc/v1/restaurants/157458264/rating_scores?latitude=31.24667&longitude=117.29009

In [58]:
url='https://www.ele.me/restapi/shopping/restaurant/161454779?extras[]=activities&extras[]=license&extras[]=identification&extras[]=albums&extras[]=flavors&latitude=31.24667&longitude=117.29009'
json_dic=get_json(url)

In [59]:
json_dic['name']


Out[59]:
'川香冒菜(庐江店)'

In [62]:
json_dic['activities'][1]


Out[62]:
{'attribute': '{"10": {"1": 2.0, "0": 0}}',
 'description': '满10减2',
 'icon_color': 'f07373',
 'icon_name': '减',
 'id': 749663010,
 'is_exclusive_with_food_activity': True,
 'name': '102',
 'tips': '满10减2',
 'type': 102}

In [48]:
json_dic['opening_hours'][0]


Out[48]:
'10:30/22:00'

In [ ]:


In [ ]:

页面解析

获取目标:

  • 月售
  • 热销
  • 综合评价
    • 全部评价数量
    • 满意数量
    • 不满意数量
  • 平均送达速度