Расскажите, как делаются агрегаторы, вроде skyscanner, которые собирают цены с различных сайтов и ранжируют результаты? Кто-нибудь занимался подобнsv?
Такие сайты обращаются к API, предоставляемым билетчиками, турфирмами и авиакомпаниями, или напрямую пытаются распарсить каждый из сайтов (которые, наверняка, периодически меняют свой UI, разметку, имеют нетривиальные скрипты поиска, а не просто статические страницы — как это обрабатывать и поддерживать в актуальном состоянии)? Если последнее, существуют готовые библиотеки для подобного, облегчающие парсинг? Подскажите самые известные названия (желательно python).
Здравствуйте, Михaил, Вы писали:
М>Такие сайты обращаются к API, предоставляемым билетчиками, турфирмами и авиакомпаниями, или напрямую пытаются распарсить каждый из сайтов (которые, наверняка, периодически меняют свой UI, разметку, имеют нетривиальные скрипты поиска, а не просто статические страницы — как это обрабатывать и поддерживать в актуальном состоянии)?
Если у сайта есть апи, то данные по возможности достаются по апи, если его нету, тогда парсинг html/js . Сайты на самом деле не так часто меняют содержимое FE, так как сильно менять страницы плохо для SEO, так что если и немного поменяют раз в пол года: чуть изменят структуру html, так же мало придется подправить и в парсере. Для .net есть HtmlAgilityPack и регулярные выражения, для python — хз.
Підтримати Україну у боротьбі з країною-терористом.
Здравствуйте, Михaил, Вы писали:
М>Расскажите, как делаются агрегаторы, вроде skyscanner, которые собирают цены с различных сайтов и ранжируют результаты? Кто-нибудь занимался подобнsv?
Да
М> Если последнее, существуют готовые библиотеки для подобного, облегчающие парсинг? Подскажите самые известные названия (желательно python). https://scrapy.org/
Можно парсить mailing list, twitter, etc по мимо сайта.
Нужно учесть, что если сайт не имеет апи и у вас с ним нет договорённости, то он может активно сопротивлятся краулингу. Это можно сделать блокировкой по IP, можно усложнить при помощи Javascript.
Поэтому нужно пользоваться proxy и headless browser. Короче там целая индустрия.
Краулинг предоставляется как сервис scrapy кстати.