0
votes

manière pythonique d'identifier les noms de l'URL et de le faire correspondre à un ensemble de noms existant

Bonjour c'est un problème que je veux résoudre mais je suis coincé.

donné une liste d'URL, je veux faire ce qui suit: p>

  1. extraire le nom dans l'URL li>
  2. Faites correspondre le nom de l'URL à un dictionnaire de noms existants li>
  3. avoir 1 dictionnaire de tous les noms trouvés, une division des noms trouvés dans 2 dictionnaires distincts, 1 associé aux noms trouvés dans le dictionnaire et une autre associée à aucun nom de No. / Li> ol>

    Exemple: P>

    INPUT : 
    urls = ['www.twitter.com/users/aoba-joshi/$#fsd=43r', 
            'www.twitter.com/users/chrisbrown-e2/#4f=34ds', 
            'www.facebook.com/celebrity/neil-degrasse-tyson',
            'www.instagram.com/actor-nelson-bigetti']
    
    # the key is the ID associated to the names, and the values are all the potential names
    
    existing_names = {1 : ['chris brown', 'chrisbrown', 'Brown Chris', 'brownchris'] ,
                      2 : ['nelson bigetti', 'bigetti nelson', 'nelsonbigetti', 'bigettinelson'],
                      3 : ['neil degrasse tyson', 'tyson neil degreasse', 'tysonneildegrasse', 'neildegrassetyson']}
    
    
    OUTPUT : 
    # names_found will be a dictionary with the key as the URL and the values as the found name
    names_found = {'www.twitter.com/users/aoba-joshi/$#fsd=43r' : 'aoba joshi',
                   'www.twitter.com/users/chrisbrown-e2/#4f=34ds' : 'chris brown',
                   'www.facebook.com/celebrity/neil-degrasse-tyson' : 'neil degrasse tyson',
                   'www.instagram.com/actor-nelson-bigetti' : 'nelson bigetti'}
    
    # existing_names_found is a dictionary where the keys are the found name, and the values are the corresponding list of names in the existing names dictionary
    
    existing_names_found = {'chris brown' : ['chris brown', 'chrisbrown', 'Brown Chris', 'brownchris'],
                            'neil degrasse tyson' : ['neil degrasse tyson', 'tyson neil degreasse', 'tysonneildegrasse', 'neildegrassetyson'],
                            'nelson bigetti' : ['nelson bigetti', 'bigetti nelson', 'nelsonbigetti', 'bigettinelson']}
    
    # new_names_found is a dictionary with the keys as the new name found, and the values as the url associated to the new found name
    new_names_found = {'aoba joshi' : 'www.twitter.com/users/aoba-joshi/$#fsd=43r'}
    


1 commentaires

Bonne Vous avez ajouté une entrée et une sortie attendue, mais j'ai oublié d'ajouter le code que vous avez essayé jusqu'à présent.


3 Réponses :


1
votes

Vous avez commencé, voici les étapes pour faire ce programme:

  1. Créez un pour pour rechercher chaque URL individuelle et à l'aide de la fonction ('/') fonctionne chaque URL dans une liste et recherchez la valeur 2 de la valeur. liste.
  2. Ensuite, vous pouvez utiliser un autre pour boucle pour passer via les touches et les valeurs du dictionnaire existant dictionnaire. Dans cette boucle, citons une instruction si compare le nom que vous avez extrait aux noms présents.
  3. Ensuite, vous ajoutez ces valeurs aux dictionnaires ou aux listes que vous souhaitez.

0 commentaires

2
votes

Eh bien ... si je me suis bien compris ce que tu veux faire ... Voici quelque chose ce qui devrait fonctionner xxx

(désolé à l'avance, je tape ceci sur mon téléphone, mais J'espère que ce sera utile :))

(Vous pouvez également essayer de regarder si elle contient les deux parties d'un texte ... mais cela échouerait sur quelque chose comme ça -> "Luke Luk" et vérifiant sur "Luke O'niel") ... Il y a beaucoup de proble


0 commentaires

1
votes

Pour la première partie du nom d'identification de l'URL, vous pouvez faire quelque chose comme: xxx


0 commentaires