@proelixir

Страница 8 из 1045
Константин
01.06.2016
04:25:58
чтобы не по очереди проходилось по ссылкам

а одновременно

Can
01.06.2016
04:27:33
Task в помощь

Константин
01.06.2016
04:40:09
Я в документации прочитал, что они от spawn отличаются только более красивым выводом сообщений об ошибках

Google
Константин
01.06.2016
04:41:27
Не освсем могу понять.. я вот сделаю, к примеру, 10 процессов Task.. Дальше я создаю receive чтобы забирать данные из процессов

Как понять, что все процессы завершены и прекратить выполнение receive?

Can
01.06.2016
06:13:23
можно рекурсивно вызывать эту же функцию на ресив, с уменьшенным счетчиком

Константин
01.06.2016
06:20:09
Хмм.. ну да

Ну код я пишу через задницу)))))

Работает охренительно

На руби я написал парсер за 1.5 недели

Но там было чуть сложнее чем тут. Зато тут создается 15 процессов и они одновременно собирают инфу.

Evgeny
01.06.2016
07:16:24
А Thread'ы не пробовал использовать для этого? Тоже бы параллельно работало)

Can
01.06.2016
08:47:29
Для распределенных задач должен быть хороший уровень абстракции без ручного вызова recieve

в OTP

Надо поискать

Константин
01.06.2016
09:05:06
Я сейчас столкнулся с такой штукой..

Google
Константин
01.06.2016
09:05:31
title = body |> Floki.find("#content") |> Floki.find("h1.mrg10") [{"h1", [{"class", "mrg10"}], [«209, 242, 232, 234, 32, 210, 240, 229, 226, 229, 235»]}]

Блин, отвлекают

Если в двух словах - как преобразовать

«209, 242, 232, 234, 32, 210, 240, 229, 226, 229, 235»

в строку??

iex(11)> List.to_string title ** (FunctionClauseError) no function clause matching in List.to_string/1 (elixir) lib/list.ex:619: List.to_string(«209, 242, 232, 234, 32, 210, 240, 229, 226, 229, 235»)

Can
01.06.2016
09:15:05
@artemeff в edeliver бы идет автоматический своп кода (на уровне замены модулей прост), но если этого мало (надо к примеру роуты у ковбоя перезапустить), то дописывается ручной код, который делает все свопы, которые надо. С первым, насколько я читал, деливер хорошо справляется, а со вторым тебе никто не поможет, один фиг вручную все апгрейды делать специфичные.

@yaBloom <<...>> это binary. В эликсире строки это тоже binary под капотом, так что это и так строка у тебя. Просто она когда нормальными символами не может напечататься - печатается цифрами

Да

да половина мира о нем и не знает)

Рестартят себе сервера и живут норм

Хот своп нужен только если очень долгосрочные процессы висят и не хочется совсем их трогать

Константин
01.06.2016
09:26:33
Что-то я в замешательстве теперь. Получается, что я не смогу никак увидеть читаемы вариант («209, 242, 232, 234, 32, 210, 240, 229, 226, 229, 235»)?

Хмм.. вот оно что!!!

Значит проблема не в этом))

Видать с кодировкой трабла у Floki или HTTPoison

Can
01.06.2016
09:30:18
У них нет проблем с кодировкой)

Они ж не показывают тебе ничего

Они просто бинарник забирают

Константин
01.06.2016
09:31:03
Ну они забирют страницу сайта и парсят, после этого я получаю эту строку

Google
Can
01.06.2016
09:31:08
За что мне нравится эликсир так это то, что перестаешь о строках думать, как о чем-то склеенном с кодировкой.

Строка это бинарник

Просто как бы набор байт

в эликсире она по дефолту utf8

все остальное как бы ебись сам что называется)

Константин
01.06.2016
09:31:38
Это то понятно, но искомая строка явно не Ñòèê Òðåâåë

Я попробую по эксперементировать

Вот)) это искомая строка))

Can
01.06.2016
09:33:32
Я плохо понимаю, как применить то, что они написали внизу. Но суть как бы ясна, у тебя сайт в кирилице скорее всего на cp1251 а эликсир как юникод хавает.

В русском канале слака ребята отписывали что они с проблемами с кодировкой делали

Константин
01.06.2016
09:34:08
Ок, если не нагуглю - напишу туда

решение отпишу тут

Can
01.06.2016
09:36:49
решил схожую проблему с помощью, если кому еще понадобится) https://hex.pm/packages/iconv

Вот оттуда они писали

сем привет, кто нибудь решал проблему с кодировкой. Не могу конвертировать windows-1251 получил через HTTPoison to_string binary_to_list(<<205, 232, 230, 237, 232, 233, 32, 205, 238, 226, 227, 238, 240, 238, 228>>) получаю Íèæíèé Íîâãîðîä [14:07] Пробовал https://github.com/woxtu/elixir-mbcs он не запускается Mbcs.start ошибка ex(1)> Mbcs.start ** (UndefinedFunctionError) undefined function :mbcs.start/0 (module :mbcs is not available) :mbcs.start()

Весьма напоминает симптомы)

Константин
01.06.2016
09:38:41
Да, я уже встречался с подобным текстом

походу это оно

Решение http://stackoverflow.com/questions/33868595/problems-with-binaries-when-scraping

Только у меня теперь другая проблема.. HTTPoison не хочет работать в конкурентной среде..

Google
Константин
01.06.2016
10:38:52
буду искать ему замену

Can
01.06.2016
10:39:13
Что значит не хочет работать в конкурентной среде?

https://github.com/edgurgel/httpoison/issues/108

Константин
01.06.2016
11:12:50
Мой косяк, там ссылка неправильно формировалась. Поэтому мне казалось, что он на одной странице топчится

Все супер, парсер пишется)))

Только что-то я начал буксовать

Если бы не многопоточности там всякие - дело было бы проще значительно, но нахрена тогда эликсир нужен?))

Меня дико прикалывает с какой скоростью он проходит по всем страницам, это прям в кайф, когда он меньше чем за минуту проходится по всем страницам сайта. Их там около 250

До завтра всем)))

Rafkat
01.06.2016
12:13:28
скинешь исходники??

Evgeny
01.06.2016
14:58:19
Ждем исходник, заинтересовали меня попробовать для парсинша эликсир, с руби погоняю тесты)

Константин
02.06.2016
01:54:08
скинешь исходники??
Палить какой я сайт парсю))))

Доброе утро всем!! Я думал скинуть исходники, но чет не хочется палиться какой я сайт парсю, а без него этот код будет бесполезен.

Хотя хочется услышать мнения о коде и его улучшении. Давайте я доделаю момент по сбору данных и открою доступ к битбакет проекту.

Rafkat
02.06.2016
03:37:29
ok

Can
02.06.2016
05:04:17
Порно небось

Сотку ставлю трипадвайзер парсишь)

Rafkat
02.06.2016
05:28:56
его кому не лень парсят

Константин
02.06.2016
05:57:49
Я о таком даже не слышал))))

Ахаха

Google
Константин
02.06.2016
05:58:21
Я не хочу палиться, чтобы меня не заблочили.. вот заберу данные и скажу))

Сайт занимается отелями и домами отдыха

Rafkat
02.06.2016
06:00:29
booking

Страница 8 из 1045