Skip to content

Latest commit

 

History

History

lab2

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Lab2

Описание

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

Примеры работы с библиотеками для каждого из языков находятся в соответствующих boilerplate-файлах: Lab2.fs и Lab2.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 Составить список выпускников ФИВТ, которые любят КВН
8 Составить список 50 самых комментируемых преподавателей
9 Составить список 50 комментариев для преподавателей с самой высокой оценкой
10 Найти средний возраст участников студсовета ФИВТ
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 Сколько музыкальных групп всего с одним треком находится в чарте last.fm top100 композиций по РФ?
25 Какие группы появлялись в чартах last.fm с 2008 по 2013 года (исключая 2012) больше всего раз?
26 Кто, кроме anonymous'а оставил больше всего комментариев в этой теме?
27 Какой тэг самый популярный среди ста самых популярных пакетов на NuGet?
28 В каком месяце какого года было больше всего вопросов в рассылке эрланга?