Как пишутся сайты-агрегаторы?
От: Михaил  
Дата: 29.11.18 20:14
Оценка:
Расскажите, как делаются агрегаторы, вроде skyscanner, которые собирают цены с различных сайтов и ранжируют результаты? Кто-нибудь занимался подобнsv?

Такие сайты обращаются к API, предоставляемым билетчиками, турфирмами и авиакомпаниями, или напрямую пытаются распарсить каждый из сайтов (которые, наверняка, периодически меняют свой UI, разметку, имеют нетривиальные скрипты поиска, а не просто статические страницы — как это обрабатывать и поддерживать в актуальном состоянии)? Если последнее, существуют готовые библиотеки для подобного, облегчающие парсинг? Подскажите самые известные названия (желательно python).

Спасибо
Re: Как пишутся сайты-агрегаторы?
От: #John Европа https://github.com/ichensky
Дата: 30.11.18 06:38
Оценка:
Здравствуйте, Михaил, Вы писали:

М>Такие сайты обращаются к API, предоставляемым билетчиками, турфирмами и авиакомпаниями, или напрямую пытаются распарсить каждый из сайтов (которые, наверняка, периодически меняют свой UI, разметку, имеют нетривиальные скрипты поиска, а не просто статические страницы — как это обрабатывать и поддерживать в актуальном состоянии)?


Если у сайта есть апи, то данные по возможности достаются по апи, если его нету, тогда парсинг html/js . Сайты на самом деле не так часто меняют содержимое FE, так как сильно менять страницы плохо для SEO, так что если и немного поменяют раз в пол года: чуть изменят структуру html, так же мало придется подправить и в парсере. Для .net есть HtmlAgilityPack и регулярные выражения, для python — хз.
Підтримати Україну у боротьбі з країною-терористом.

https://prytulafoundation.org/
https://u24.gov.ua/

Слава Збройним Силам України!!! Героям слава!!!
Re: Как пишутся сайты-агрегаторы?
От: Шубин Евгений Россия http://erladvisor.blogspot.de/
Дата: 03.12.18 14:12
Оценка:
Здравствуйте, Михaил, Вы писали:

М>Расскажите, как делаются агрегаторы, вроде skyscanner, которые собирают цены с различных сайтов и ранжируют результаты? Кто-нибудь занимался подобнsv?

Да

М> Если последнее, существуют готовые библиотеки для подобного, облегчающие парсинг? Подскажите самые известные названия (желательно python).

https://scrapy.org/

Можно парсить mailing list, twitter, etc по мимо сайта.

Нужно учесть, что если сайт не имеет апи и у вас с ним нет договорённости, то он может активно сопротивлятся краулингу. Это можно сделать блокировкой по IP, можно усложнить при помощи Javascript.
Поэтому нужно пользоваться proxy и headless browser. Короче там целая индустрия.
Краулинг предоставляется как сервис scrapy кстати.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.