Улучшить скорость wikipedia.search с помощью Python - PullRequest
0 голосов
/ 02 декабря 2018

У меня есть словарь имен известных людей, отсортированный по инициалам.Я хочу преобразовать эти имена в названия соответствующих титульных страниц Википедии.Это то же самое для первых трех, приведенных в этом примере, но после запуска этого кода Александр Белл корректно преобразуется в Александра Грэма Белла.

Алгоритм работает, хотя он занял около часа, чтобы сделать все имена «AA», и я надеюсь, что он сделает это до «ZZ».

Есть лиОптимизация я могу сделать по этому поводу?Например, я видел что-то о пакетных запросах, но не уверен, применимо ли это к моему алгоритму.

Или есть более эффективный метод, который я мог бы использовать для получения этой же информации?

Спасибо.

import wikipedia

PeopleDictionary = {'AA':['Amy Adams', 'Aaron Allston'], 'AB':['Alia Bhatt', 'Alexander Bell']}

for key, val in PeopleDictionary.items():
for val in range(len(PeopleDictionary[key])):
    Name_URL_All = wikipedia.search(PeopleDictionary[key][val])
    if Name_URL_All:
        Name_URL = Name_URL_All[0]
        PeopleDictionary[key][val] = Name_URL
...