Я не работаю ни с Angular 5, ни с машинописным шрифтом, поэтому на техническом уровне я не знаю, как разработать конкретный код, который вам нужен, но я думаю, что вам нужно, чтобы взглянуть на HttpClientдокументация . Этот поиск в GitHub может помочь вам найти уже разработанный модуль.Angular кажется очень хорошо задокументированным, это очень приятно.Поэтому мой ответ скорее теоретический, чем технический.
О данных, которые вы хотите получить в файле JSON, фамилии и языке этой фамилии, если вы хотите работать только со страницами в категории, я думаю,Наилучшим способом я мог бы извлечь заголовок страницы каждой страницы и язык из заголовка проанализированной подкатегории.Если вы хотите сделать это:
- Вам нужно будет также проверить и очистить заголовок категорий.Например,
Irish-language feminine surnames
и Irish-language masculine surnames
должны быть очищены как ирландцы.Было бы хорошо, если бы у вас было другое значение JSON для сохранения заголовка категории, потому что это поможет вам восстановить URL в будущем - Вам нужно будет проверить, соответствует ли заголовок страниц каждомуНеобходимо очистить фамилию, потому что если вы ее не очистите, вы, вероятно, получите некоторые значения, например
Hoti (surname)
.Конечно, как и в последнем пункте, касающемся заголовка категории, я рекомендую вам создать другое значение JSON, чтобы сохранить заголовок страницы и сохранить его из-за возможного случая, когда он вам понадобится.
Я думаю, что еще один хороший способ сделать это - запрос к Wikidata, потому что есть много страниц со структурами, которые сильно отличаются, и нет информационного блока, обобщенного во всех них, что облегчило бы получение данных, потому что вы могли быочистить определенное поле (язык или что бы то ни было).Однако извлечение его из Викиданных и отсутствие категории также имеет недостатки:
- Если вы хотите работать только с фамилиями / страницами в указанной вами категории ( Фамилии по языкам ), работа с Wikidata не возможна, потому что Wikidata, вероятно, имеет большой набор данных о ней, и вы получите больше фамилий, чем в категории.
- Вероятно, что многие элементы каждой фамилии неэто не определенный язык.Возможно, у него нет свойства нативная метка (P1705) или оно может иметь свойство, но со значением
surname (multiple languages)
. - И, конечно, он может иметь большую кривую обучения, потому что, вероятно, вам нужно будет узнать о SPARQL и Wikidata Query Service .
Взгляните на MediaWiki API и Wikidata: доступ к данным .
«Законно ли для меня создание базы данных с информацией о том, что данные взяты из Википедии?»
Да, это совершенно законно.Что вы должны сделать, это уважать лицензию.В случае английской Википедии это лицензирование в соответствии с Creative Commons Attribution-ShareAlike 3.0 Unported.Эта лицензия позволяет вам повторно использовать и изменять контент как коммерческим, так и некоммерческим способом, но вы должны указать авторство и поделиться производными с одной лицензией.
В случае Wikidata все вПространства имен предметов и свойств (Q: * и P: *) находятся в свободном доступе и помечены как CC0, инструмент Creative Commons, чтобы показать, что произведение находится в общественном достоянии.Что вы можете сделать с данными?Что бы вы не хотели.
Я рекомендую вам прочитать FAQ по Creative Commons о CC0 и правовой код Creative Commons Attribution-ShareAlike 3.0 Unported .