Pytrends: многократный запуск одного и того же скрипта дает результаты для разных наборов стран
Я использую pytrends для извлечения индекса запросов из Google Trends для нескольких стран с течением времени. Поскольку представляется невозможным указать несколько стран, используя гео, я использую Проценты по времени для каждой страны и перебираю список многих стран.
Проблемы
1) Поскольку я неоднократно запускаю этот же сценарий (с промежуточным ожиданием), каждый раз полученные CSV-файлы содержат разные подмножества стран. Некоторые страны с кажущимися нормальными значениями (намного превышающими 0) в одном беге полностью исчезнут в другом беге.
2) Некоторые страны с допустимыми значениями при ручной загрузке с веб-сайта Trends отсутствуют при запуске сценария.
Каковы могут быть возможные причины этих проблем? Большое спасибо!
Пример кода:
from pytrends.request import TrendReq
pytrend = TrendReq()
coun=('''AU
FI
GB
HU
IL
JP
NL
NZ
PT
US
''').split()
for country in coun:
try:
pytrend.build_payload(kw_list=['holiday'], timeframe='all', geo=country)
interest_over_time_df = pytrend.interest_over_time()
interest_over_time_df.to_csv(country+'_holiday.csv')
except:
continue
1 ответ
Я знаю, что ответ может быть очевидным, но вы проверили, все ли ваши запросы были успешными при каждом запуске? Если вы выполняете код, который отправляет множество запросов к API, вы можете легко превысить их максимальный лимит запросов и получить отказ в доступе. Проверьте это с помощью следующего кода:
from pytrends.request import TrendReq
pytrend = TrendReq()
coun=('''AU
FI
GB
HU
IL
JP
NL
NZ
PT
US
''').split()
for country in coun:
try:
pytrend.build_payload(kw_list=['holiday'], timeframe='all', geo=country)
interest_over_time_df = pytrend.interest_over_time()
interest_over_time_df.to_csv(country+'_holiday.csv')
print(country + ' was succesfully pulled from google trends and stored in ' + country + '_holiday.csv')
except Exception as e:
print(country + ' was not successfully pulled because of the following error: ' + str(e))
continue