def get_categories():
"""
Sends a GET request to the front page (base url of the app store),
parses and returns a list of all available categories.
Note: May contain some promotions, e.g. "Popular Characters"
"""
categories = {}
strainer = SoupStrainer('a', {'class': 'child-submenu-link'})
response = send_request('GET', s.BASE_URL)
soup = BeautifulSoup(response.content, 'lxml', parse_only=strainer)
category_links = soup.select('a.child-submenu-link')
age = '?age='
for cat in category_links:
url = urljoin(s.BASE_URL, cat.attrs['href'])
category_id = url.split('/')[-1]
name = cat.string
if age in category_id:
category_id = 'FAMILY'
url = url.split('?')[0]
name = 'Family'
if category_id not in categories:
categories[category_id] = {
'name': name,
'url': url,
'category_id': category_id}
return categories
评论列表
文章目录