Задача дослідника полягає в тому, щоб обмежити пошук у базі даних Scopus за конкретним діапазоном дат. Для цього використовується бібліотека pybliometrics, а саме клас ScopusSearch. Автор пробує встановити обмеження за допомогою параметра date, але стикається з проблемою його роботи.
Пояснення проблеми:
Автор використовує наступний код:
1 2 3 4 5 6 7 8 9 10 |
```python from pybliometrics.scopus import ScopusSearch # Визначення запиту q = "TITLE(ecotourism) AND TITLE-ABS-KEY(quant*)" # Створення об'єкту ScopusSearch з вказаним діапазоном дат scopus_search = ScopusSearch(q, date='2002-2007') # Доступ до результатів for result in scopus_search.results: print(result.title) print(result.coverDate) |
Проблема полягає в тому, що параметр kwds не працює належним чином. При використанні цього параметра для обмеження пошуку за датою він не застосовується правильно, і повертається результат, який містить документи, що вийшли за межі вказаного діапазону дат.
Рішення:
Для вирішення цієї проблеми можна скористатися іншим підходом до обмеження пошуку за датою. Замість використання параметра date при створенні об’єкту ScopusSearch можна використати фільтрацію результатів після отримання всіх необхідних даних з бази даних.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
python Copy code from pybliometrics.scopus import ScopusSearch # Визначення запиту q = "TITLE(ecotourism) AND TITLE-ABS-KEY(quant*)" # Створення об'єкту ScopusSearch без вказання дати scopus_search = ScopusSearch(q) # Фільтрація результатів за допомогою списку списку, що містить документи з вказаного діапазону дат filtered_results = [result for result in scopus_search.results if '2002' <= result.coverDate <= '2007'] # Доступ до відфільтрованих результатів for result in filtered_results: print(result.title) print(result.coverDate) |
Цей підхід дозволяє правильно обмежити пошук за датою, і вибрати лише ті результати, які відповідають заданому діапазону. Таким чином, проблема з параметром kwds у pybliometrics.scopus.ScopusSearch може бути успішно вирішена за допомогою фільтрації результатів після отримання їх з бази даних.
`