Комментарии 9
Возможно выбрал не лучшее время для охвата аудитории
Почему?
Выглядит как воплощение моей мечты в сфере скрейпинга - максимально абстрактная конфигурация для сбора информации. К сожалению в реальности это не будет работать для большинства сайтов, потому что как показывает практика, это большинство сайтов сделаны идиотами на отвали (включая разную структуру html для страниц, которые должны быть по логике одинаковыми и тд)
Именно поэтому много скрейперов - это код на питоне (вставьте другой язык), где множество ветвлений/условий/проверок
Я немного ужал ваш конфиг в 4 раза:
limits playwright_instance 3
out Server
method \GET
url \http://www.citymayors.com/gratis/uk_topcities.html
out Array
in xpath \//table//table//tr[preceding-sibling::*]
out Object
name String xpath \td[1]//font
population String xpath \td[2]/font
temperature Chromium
in String xpath \td[1]//font
url \https://openweathermap.org/find?q={in}
attempts 3
timeout 30
wait 30
install false
out FireFox
in String xpath \//div[@id='forecast_list_ul']//td/b/a/@href
url \https://openweathermap.org{in}
attempts 4
timeout 30
wait 30
install false
type_of_wait \networkidle
out String css \//div.current-temp span.heading
Спасибо большое, это принципе очень похоже на YAML который уже поддерживается(я больше говорил про сложность понимания вариантов, чем про размер)
Ну и у вас опущена, ну и они не совместимы в вашем случае это подошло бы для запуска бинарника Firefox, а в нашем случае Firefox как часть playwright
Но все таки я имел ввиду понимание его неделе размер(согласен чем меньше размер легче понять, попозже перепишу на yaml)
Это совсем не ямл. Тому, кто будет писать эти конфиги, ему не нужно знать ни про какой playwrite, playleft или какую ещё утилиту для управления браузером вы захотите использовать. Chromium и Firefox - это абстрактные адаптеры. Можно даже добавить адаптер Browser для случая, когда не важно каким браузером загружать данные. Например, он может брать первый освободившийся.
Fitter — сшиватель API/Website's, часть личного проекта которую хотел опенсорснуть