Какой лучший язык для очистки экрана?

Привет, я хочу создать настольное приложение (С# prob), которое обрабатывает или обрабатывает форму на сторонней веб-странице. В основном я ввожу свои данные в форме в настольном приложении, он уходит на сторонний сайт и, используя script или что-то в фоновом режиме, вводит мои данные туда (включая мой логин) и нажимает кнопку отправки для меня Я просто хочу, чтобы не загружать браузер!

Не проделав много работы (в любом случае), я задавался вопросом, может ли такой скриптовый язык, как perl, python, ruby ​​и т.д.? Или просто делайте все это, используя С# и .net? Какой из них лучше IYO?

Я думал script, поскольку, возможно, вам понадобится подключиться к тому же script что-то из приложений на разных платформах (например, symbian mobile, где я бы не смог его развить в С#, как я бы это сделал на настольной версии).

Это не веб-приложение, иначе я могу использовать оригинальный сайт. Я понимаю, что все это звучит бессмысленно, но автоматизация для этой конкретной формы будет для меня реальным временем.

Ответ 1

Не забудьте посмотреть BeautifulSoup, настоятельно рекомендуется.

См., например, options-for-html-scraping. Если вам нужно выбрать язык программирования для этой задачи, я бы сказал Python.

Более прямое решение вашего вопроса, см. twill, простой скриптовый язык для веб-браузера.

Ответ 2

Я использую С# для выскабливания. См. Полезный HtmlAgilityPack пакет. Для разбора страниц я либо использую XPATH, либо регулярные выражения..NET также может легко обрабатывать файлы cookie, если вам это нужно.

Я написал небольшой класс, который обертывает все детали создания WebRequest, отправляет его, ждет ответа, сохраняет куки, обрабатывает сетевые ошибки и ретрансляцию и т.д. - конечный результат заключается в том, что для большинства ситуаций я может просто вызвать "GetRequest\PostRequest" и вернуть HtmlDocument.

Ответ 3

С# более чем подходит для ваших потребностей в очистке экрана. Функциональность .NET Regex очень хорошая. Однако с такой простой задачей вам будет трудно найти язык, который не делает то, что вы хотите относительно легко. Учитывая, что вы уже программируете на С#, я бы сказал, придерживайтесь этого.

Встроенная функция скрипинга экрана также является верхней меткой.

Ответ 4

Вы можете попробовать использовать .NET Agility Pack:

http://www.codeplex.com/htmlagilitypack

"Это гибкий HTML-парсер, который создает DOM для чтения/записи и поддерживает простой XPATH или XSLT (вы на самом деле не должны понимать XPATH или XSLT, чтобы использовать его, не волнуйтесь...). библиотека .NET-кода, которая позволяет анализировать HTML файлы вне Интернета. Парсер очень толерантен с искаженным HTML-кодом" реального мира". Объектная модель очень похожа на то, что предлагает System.Xml, но для документов HTML ( или потоки).

Ответ 6

IMO Perl, встроенный в функциональность регулярных выражений и способность манипулировать текстом, сделает его довольно хорошим соперником для очистки экрана.

Ответ 7

Руби очень здорово!... попробуйте его hpricot/mechanize

Ответ 10

HTML Agility Pack (С#)

  • XPath запутан, способ очистки html, чтобы он соответствовал xml, он отбрасывает теги, и вам нужно настроить выражение, чтобы заставить его работать.
  • прост в использовании

Mozilla Parser (Java)

  • Поддержка Solid XPath
  • вам нужно установить переменные окружения, прежде чем он будет работать, что является болью
  • литье между org.dom4j.Node и org.w3c.dom.Node для получения разных свойств - настоящая боль.
  • умирает на нестандартном html (0.3 исправляет это)
  • лучшее решение для XPath
  • проблемы с доступом к данным в узлах в NodeList

    используйте для for (int я = 1; я <= list_size; я ++), чтобы обойти это

Красивый суп (Python)

У меня нет большого опыта, но вот что я нашел

  • поддержка XPath
  • хороший интерфейс для обработки html

Я предпочитаю Mozilla HTML Parser

Ответ 12

Или придерживайтесь WebClient в С# и некоторых строковых манипуляциях.

Ответ 13

Вторые рекомендации для python (или Beautiful Soup). В настоящее время я нахожусь в середине небольшого проекта скремблирования экрана с использованием python, а автоматическая обработка python 3 с помощью таких вещей, как проверка файлов cookie (через CookieJar и urllib), значительно упрощает работу. Python поддерживает все более сложные функции, которые могут вам понадобиться (например, регулярные выражения), а также иметь возможность быстро справляться с такими проектами (не слишком много накладных расходов при работе с материалами низкого уровня). Это также относительно кросс-платформенный.