1

Я знаю парсеры такие как htmlagilitypack,anglesharp,selenium. С selenium все понятно, но кликать на anglesharp,htmlagilitypack, нормально не получится, есть аналоги англу и htmlagility, для кликов по сайту и тп. Крч функционал как у Селениум, но скорость работы из как у англшарпа , аштимль, и работа из консоли(без открытия браузера). Мне именно нужны клики, как они реализованы на селениум, не тупо перезод по ссылкам, в именно клики. Если на C# нету таких пасеров, может на Java есть?

  • А чем селениум плох? – Andrei Khotko Feb 17 '20 at 06:11
  • Он долго выполняет свои действия + открывает браузер, можно конечно --headles прописать, но это как костыли – Prince Tag Feb 17 '20 at 06:22
  • Для чего вам это нужно? тесты? – Andrei Khotko Feb 17 '20 at 06:34
  • Автору это нужно для того, чтобы парсить чужие сайты. А чужие сайты бывает очень не любят парсеры, поэтому крайне скоро к ТС придёт понимание, что лучше медленнее, да надёжнее, т.к. медленнее - можно тупо работать в N потоков через прокси, чем простои когда программист анализирует что опять за новую защиту сделали. – A K Feb 17 '20 at 07:21
  • не тупо перезод по ссылкам, в именно клики А в чем отличие? – Геннадий П Feb 17 '20 at 07:21
  • Ну вот англшарп содержит достаточно простой анализатор javascript, автор сам его называет "экспериментальным" и не очень стабильным. Селениум в этом плане сложнее отличить от настоящего браузера. Но вообще, насколько я знаю самые продвинутые защиты от клика анализируют паттерны движения мышкой, что они похожи на реальное движение руки человека, а не просто link[15].Click() – A K Feb 17 '20 at 07:24
  • Мне именно нужны клики, как они реализованы на селениум, не тупо перезод по ссылкам, в именно клики. Тогда, если в селениум у автора все нормально работает, то остается вопрос: Автору нужны шашечки или ехать? Без эмуляции браузера в данном случае не обойтись и поэтому окно браузера будет открываться. – Геннадий П Feb 17 '20 at 07:36
  • На мой взгляд это запрос на лучшие практики (и приветствуется на en so), то что у нас обычно трактуют как широкозаданные вопросы или opinion based (и любят закрывать). Вот пока голосов за закрытие не вижу, может быть и не закроют - но свой коммент не расцениваю как полноценный ответ. – A K Feb 17 '20 at 09:24
  • Не в коем случае не стоит использовать селениум (и его аналоги) для парса сайта! По крайней мере в самом начале. Почему? Ну во первых он создан не для этого, его цель заключается в тестирование сайта и выявления с ним проблем, а если вам нужно спарсить с сайта данные, то в 90% случаев это делается простым HttpClient, ибо все они работают по принципу отправки GET/POST запросов на определенный адрес с определенным содержанием. Начните с изучения всех аспектов сайта, поймите как он работает и только тогда выбирайте инструмент. Если же вам обычного POST/GET будет мало, тогда думайте о селениуме. – EvgeniyZ Feb 17 '20 at 11:02
  • Например вот ваш вопрос, вы работаете с инстаграм, пытаетесь получить данные странички (ник пользователя), используете для этого зачем то селениум, вопрос - зачем? Ведь сайт отдает вам данные так, даром, вам остается их только взять. Ок, дальше вам надо сделать "клик" по нику пользователя, что такое клик? А это у вас простой GET запрос на адрес https://www.instagram.com/[userName], где взять userName? В тех данных, что отдает вам сайт, вот он. – EvgeniyZ Feb 17 '20 at 11:08
  • Я использовал селениум, т.к на нем все просто работает и понятно, на англшарпе я добавил загрузку js и все равно не смог получить ссылку и сам класс, используя js селектор, html селектор, я не смог их взять. Вы мне пишите как их брать, я пытаюсь сделать как вы, но англшарп из не видит, т.к js экспериментальный и не все увидеть может – Prince Tag Feb 17 '20 at 11:31
  • Потому что вы сами не поймете что вам надо и как вы это будете получать. Вы не хотите понимать как работает тот сайт, с которым вы работаете, что вы тогда еще ожидаете? Вот я вам дал ссылку с полными данными по вашей странице (там даже JS не нужен, да и вообще он мало когда нужен), не уж то этого мало? – EvgeniyZ Feb 17 '20 at 11:36

0 Answers0