Получение информации о приложении на основе названия компании с помощью Python

#python #web-scraping

Вопрос:

Я хочу использовать скрипт python для извлечения полезной информации о списке приложений, у меня есть CSV-файл, содержащий имя компании, и мне нужно выяснить, какими приложениями владеет компания

 |Company_Name|
|------------|
|Verizon     |
|Lyft        |
|Paypal      |
|Tinder      |
|Houseparty  |
|9gag        |
 

Я пытаюсь использовать requests для получения информации о приложении с помощью Apple API, но есть проблема, что я лицо, используя этот API, я не могу найти количество загрузок приложения, и он не нашел применения Verizon компанию, потому что она названа My Verizon в магазин приложений, я спрашиваю, как я могу добавить условие, чтобы сделать приблизительный поиск и как я могу найти загрузки приложений в магазине приложений

Я использую Google Colab

 import requests
import json
import pandas as pd

#output datafrmae
output_df = pd.DataFrame()
#Read Company_Name list from  App_Details.csv
App_Details = [x[0] for x in pd.read_csv('App_Details.csv' , usecols=['Company_Name']).values.tolist()]
for Company_Name in App_Details:
    print(Company_Name)
    #api search link of app play
    link = 'https://www.apple.com/search-assets/searchlight/search'
    #form data for the api
    data = {"locale":"en_EG","query":Company_Name,"page":"0","resultPerPage":"30","requestedService":"","src":"aml_serp"}
    #post rquest to get the json reponse of the api
    results = requests.post(link , headers = {'content-type': 'application/json'} , data=json.dumps(data)).json()['results'][0]['sectionResults']
    #getting all the results of apps for the first 30 apps
    list_of_ids = [ [x for x in result['navLinks'] if x.get('label')!=''][0]['link'].split('/id')[1] for result in results]
    #list for all apps ids to use it for the next link api
    #only if there is a result per Company_Name 
    if list_of_ids !=[]:
        #api search sub_link of app play searching by list of ids
        sub_link = f'https://amp-api.apps.apple.com/v1/catalog/eg/apps?ids={",".join(list_of_ids)}amp;platform=webamp;additionalPlatforms=appletv,ipad,iphone,mac'
        # headers with the authorization
        sub_headers = {'authorization':'Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlU4UlRZVjVaRFMifQ.eyJpc3MiOiI3TktaMlZQNDhaIiwiaWF0IjoxNjI5MjI0MjQzLCJleHAiOjE2MzY0ODE4NDN9.2cP0UyUe2m2BKVbZQWFLVqrscorqsedOdIFLcgbZxfgXyVnR4ubwPNPqeCAtphLLsYU23Om6J5PGySBes1uxuA'}
        #get rquest to get the api json data
        sub_results = requests.get(sub_link , headers =sub_headers ).json()['data']
        #convert the json data into dataframe
        df = pd.json_normalize(sub_results)
        #add the Company_Name at the first column
        df.insert(0, 'Company_Name', Company_Name)
        #just keep the important columns
        df = df[['Company_Name','id','type','href']]
        #append that to the final file
        output_df = output_df.append(df)
#rename the column
output_df = output_df.rename(columns={'Company_Name' : 'Company_Name_2' , 'id':'id_2'} )
#save the final file into App_Details_Output.csv
output_df.to_csv(f'App_Details_Output.csv', index=False)