Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Lab3

Описание

В этой лабораторной вам предстоит работать со списками, полученными в результате разбора веб-страниц. Для этих целей используются библиотеки FSharp.Data и *-conduit. Они позволяют изящно разбирать и запрашивать данные из таких иерархических структур как json, xml, html. В нашем случае мы будем работать с html-страницами, запрашивать содержимое тэгов с помощью селекторов и получать нужные нам данные в последовательностях и списках соответственно.

Примеры работы с библиотеками для каждого из языков находятся в соответствующих boilerplate-файлах: Lab3.fs и Lab3.hs. И в интернете: FSharp.Data, html-conduit

Установка библиотек

FSharp

Через NuGet: Install-Package FSharp.Data . Или через nuget-плагин для monodevelop.

Haskell

С использованием cabal: cabal install xml-conduit http-conduit html-conduit

Вопросы

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

Задание

Вариант Задание
1 По списку языков программирования википедии составить список императивных, не функциональных ЯП.
2 По списку языков программирования википедии составить список кортежей: год появления, названия. Языки без указания годов появления исключить.
3 По списку телефонных номеров МФТИ выяснить, кто делит один номер с коллегами. Телефонные номера нормализовать
4 Узнать, в каком году было больше и меньше всего выпускников факультета аэромеханики и летательной техники
5 Составить список 50 самых умных и самых строгих преподавателей
6 Составить список из ФИО преподавателей и их страниц в соц.сетях (linkedin, facebook, vk)
7 Найти самый дилнный и самый которкий пример для Hadoop
8 Составить список 50 самых комментируемых преподавателей
9 Составить список 50 комментариев для преподавателей с самой высокой оценкой
10 Узнать, в каких группах больше всего тем с пометкой "Важно:" на форуме sql.ru
11 Отсортировать список git-проектов Haskell, которые проходят тесты на Travis CI по количеству веток
12 Выяснить, какой процент из топ-500 проектов на языках Haskell и F# на github с наибольшим количеством звёзд составляют проекты на F#
13 Составить частоту обновлений проектов на F# на github (в течении последнего месяца, двух, и т.д.)
14 Узнать, от какой библиотеки зависит больше всего запрещённых пакетов на hackage
15 Найти пять самых скачиваемых пакетов за всё время на hackage
16 Какой процент составляют issue с комментариями от общего количества issue для NuGet?
17 Какое количество разработчиков NuGet уже переехали на github, если судить по их никам?
18 Кто из разработчиков Microsoft на github ведёт блог на blogs.msdn.com и указал его в профиле?
19 Попытаться найти по списку языков программирования википедии человека, который разработал больше всего ЯП
20 Какое количество ссылок на странице о LISP ведут на англоязычные ресурсы, а какие - на русскоязычные?
21 Под какой лицензией выпущено большинство проектов на F# на github, если судить по файлу LICENSE?
22 Сколько пакетов в Hackage относятся к нескольким категориям?
23 У какого факультета ФИВТ больше всего кафедр?
24 Узнать, в каком разделе форума sql.ru больше всего вопросов за последние 3 дня
25 Узнать, какое количество вопросов, заданных за последние 5 часов, остались без ответа
26 Кто, кроме anonymous'а оставил больше всего комментариев в этой теме?
27 Какой тэг самый популярный среди ста самых популярных пакетов на NuGet?
28 В каком месяце какого года было больше всего вопросов в рассылке эрланга?