Я попытался сделать так, чтобы этот простой сканер сканировал всю базу данных МКБ-11 (https://icd.who.int/browse/2024-01/foun ... #455013390) и собирал все названия и описания всех болезней, но он продолжает останавливаться на самом верхнем уровне дерева ссылок и не спускается по дереву в различные ветви, их подветви и так далее. Что происходит не так?
import requests
# Configuration
token_endpoint = 'https://icdaccessmanagement.who.int/connect/token'
api_base_url = 'http://id.who.int/icd/entity/1435254666'
client_id = 'XXXX' # Replace with your client_id or set it as an environment variable
client_secret = 'XXX' # Replace with your client_secret or set it as an environment variable
scope = 'icdapi_access'
grant_type = 'client_credentials'
# Get the OAUTH2 token
# Set data to post
payload = {'client_id': client_id, 'client_secret': client_secret, 'scope': scope, 'grant_type': grant_type}
# Make request
r = requests.post(token_endpoint, data=payload, verify=False).json()
token = r['access_token']
# Access ICD API
uri = 'https://id.who.int/icd/entity/455013390'
def crawler(uri):
# HTTP header fields to set
headers = {'Authorization': 'Bearer '+token, 'Accept': 'application/json', 'Accept-Language': 'en', 'API-Version': 'v2'}
# Make request
r = requests.get(uri, headers=headers, verify=False).json()
# Print the result
try: print(r['title']['@value'], r['fullySpecifiedName']['@value'])
except: pass
try: print(r['definition']['@value'])
except: pass
try: print(r['child'])
except: pass
# Return children
try: return r['child']
except: return None
url_list = crawler(uri)
for url in url_list: url_list += crawler(url)
Подробнее здесь: https://stackoverflow.com/questions/792 ... i-requests
Простой сканер для очистки базы данных МКБ-11 с использованием запросов API ⇐ Python
Программы на Python
1734221872
Anonymous
Я попытался сделать так, чтобы этот простой сканер сканировал всю базу данных МКБ-11 (https://icd.who.int/browse/2024-01/foundation/en#455013390) и собирал все названия и описания всех болезней, но он продолжает останавливаться на самом верхнем уровне дерева ссылок и не спускается по дереву в различные ветви, их подветви и так далее. Что происходит не так?
import requests
# Configuration
token_endpoint = 'https://icdaccessmanagement.who.int/connect/token'
api_base_url = 'http://id.who.int/icd/entity/1435254666'
client_id = 'XXXX' # Replace with your client_id or set it as an environment variable
client_secret = 'XXX' # Replace with your client_secret or set it as an environment variable
scope = 'icdapi_access'
grant_type = 'client_credentials'
# Get the OAUTH2 token
# Set data to post
payload = {'client_id': client_id, 'client_secret': client_secret, 'scope': scope, 'grant_type': grant_type}
# Make request
r = requests.post(token_endpoint, data=payload, verify=False).json()
token = r['access_token']
# Access ICD API
uri = 'https://id.who.int/icd/entity/455013390'
def crawler(uri):
# HTTP header fields to set
headers = {'Authorization': 'Bearer '+token, 'Accept': 'application/json', 'Accept-Language': 'en', 'API-Version': 'v2'}
# Make request
r = requests.get(uri, headers=headers, verify=False).json()
# Print the result
try: print(r['title']['@value'], r['fullySpecifiedName']['@value'])
except: pass
try: print(r['definition']['@value'])
except: pass
try: print(r['child'])
except: pass
# Return children
try: return r['child']
except: return None
url_list = crawler(uri)
for url in url_list: url_list += crawler(url)
Подробнее здесь: [url]https://stackoverflow.com/questions/79281608/simple-crawler-to-scrape-icd-11-database-using-api-requests[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия