Подтвердить что ты не робот

Безглавой браузер для С# (.NET)?

Я (был) разработчиком Python, который создает приложение для очистки веб-страниц. Недавно я решил перейти на .NET framework и написать одно и то же приложение на С# (это решение не было моим).

В Python я использовал библиотеку Mechanize. Тем не менее, я не могу найти ничего подобного в .NET. Мне нужен браузер, который будет работать в режиме безглавых, который имеет возможность заполнять формы, отправлять их и т.д. Парсер JavaScript не является обязательным, но это было бы очень полезно.

4b9b3361

Ответ 1

Есть несколько вариантов:

  • WebKit.Net (бесплатно)

  • Awesomium
    Он основан на Chrome/WebKit и работает как шарм. Существует бесплатная лицензия, но также и коммерческая, и в случае необходимости вы можете купить исходный код: -)

  • HTML Agility Pack (бесплатно)
    Это помогает с извлечением информации из HTML и т.д. И может быть полезно в вашем случае (возможно, в сочетании с HttpWebRequest)

Ответ 2

Другие решения:

  • PhantomJS - полнофункциональная безголовая сеть браузер. Часто используется в паре с Selenium, что позволяет вам доступ к браузеру из приложения .NET.
  • Optimus (пакет nuget) - легкий без браузера. Это в бета-версии, но этого достаточно для некоторых случаев.

Я использовал как для веб-тестирования. Но они также подходят для веб-соскабливания.

Ответ 3

Вы можете после TrifleJS (в настоящее время в бета-версии) или что-то подобное с помощью .NET WebBrowser, который взаимодействует с IE через оконный API ActiveX/COM.

В основном вы будете использовать полнофункциональный браузер (а не обертку http-запроса) с помощью механизма Trident Internet Explorer, если вас не интересует JavaScript API (порт phantomjs) вы все равно сможете использовать некоторые из кодовых баз С#, чтобы обойти ключевые понятия (пользовательские заголовки, куки, выполнение script, рендеринг снимков экрана и т.д.).

Обратите внимание, что это также может эмулировать различные версии IE в зависимости от того, что вы установили.

enter image description here