Könnte jemand kopflosen Browser für .NET vorschlagen, der Cookies und authomatisch Javascript-Ausführung unterstützt?C# kopfloser Browser mit JavaScript-Unterstützung für Crawler
Antwort
Mir ist kein .NET-basierter Browser ohne Kopf bekannt, aber es gibt immer PhantomJS, was C/C++ ist, und es funktioniert ziemlich gut für die Unterstützung bei Unit-Tests von JS mit QUnit.
Es gibt auch eine andere wichtige Frage hier, die Ihnen helfen könnten - Headless browser for C# (.NET)?
Selenium+HtmlUnitDriver/GhostDriver ist genau das, was Sie suchen. Selenium ist eine vereinfachte Bibliothek für die Verwendung verschiedener Browser für Automatisierungszwecke - Testen, Scraping, Aufgabenautomatisierung.
Es gibt verschiedene WebDriver-Klassen, mit denen Sie einen aktuellen Browser betreiben können. HtmlUnitDriver ist ein kopfloser. GhostDriver ist ein WebDriver für PhantomJS, so dass Sie C# schreiben können, während PhantomJS das Heavy Lifting übernimmt.
Code-Snippet von Selenium docs für Firefox, aber Code mit GhostDriver (PhantomJS) oder HtmlUnitDriver ist fast identisch.
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;
class GoogleSuggest
{
static void Main(string[] args)
{
// driver initialization varies across different drivers
// but they all support parameter-less constructors
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.google.com/");
IWebElement query = driver.FindElement(By.Name("q"));
query.SendKeys("Cheese");
query.Submit();
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until((d) => { return d.Title.ToLower().StartsWith("cheese"); });
System.Console.WriteLine("Page title is: " + driver.Title);
driver.Quit();
}
}
Wenn Sie diese auf Windows-Rechner ausführen können Sie aktuelle Firefox/Chrome-Treiber verwenden, da es ein tatsächlichen Browser-Fenster geöffnet wird, die in C# wie programmiert arbeiten wird. HtmlUnitDriver ist das leichteste und schnellste.
Ich habe erfolgreich Selenium für C# (FirefoxDriver) unter Linux mit Mono ausgeführt. Ich nehme an, HtmlUnitDriver funktioniert auch so gut wie die anderen, also wenn Sie Geschwindigkeit benötigen - ich schlage vor, Sie gehen für Mono (Sie können entwickeln, testen und mit Visual Studio unter Windows kompilieren, kein Problem) + Selenium HtmlUnitDriver läuft auf Linux-Host ohne Desktop .
- 1. Kopfloser Browser für C# (.NET)?
- 2. Rendering-Problem für Facebook-Crawler - Ruby On Rails - Browser Gem
- 3. Open-Source-C++ - Crawler?
- 4. Web-Crawler mit Perl
- 5. Konfigurieren Selen + kopfloser Treiber + maven
- 6. SQL-Crawler mit IDs
- 7. definieren URL-Liste für Crawler, Syntax gibt
- 8. Ein sehr einfacher C++ Web Crawler/Spider?
- 9. php crawler für wiki immer fehler
- 10. PHP-Crawler funktioniert nicht für Wikipedia
- 11. Crawler in C# oder in VB.net
- 12. Crawler und "versteckter" Link
- 13. Wie behandelt man _escaped_fragment_ = für AJAX-Crawler?
- 14. Sprachempfehlungen für einen effizienten Web-Crawler
- 15. Crawler-Instanzen
- 16. Beste Web-Grafik-Crawler für Geschwindigkeit?
- 17. Symfony Crawler Text erhalten mit folgenden Geschwister
- 18. nginx deaktivieren gzip nur für facebook crawler
- 19. PHP Crawler Ausnahme
- 20. Was ist falsch mit meinen Anfragen.Session für Python Crawler?
- 21. Interaktion mit dem Browser mit C#
- 22. Beste Methode zum Speichern von Daten für Greasemonkey-basierte Crawler?
- 23. Flexible Web Crawler
- 24. MP3 Link Crawler
- 25. intelligente Web-Crawler mit maschinellem Lernen
- 26. Backlink-Reporting-Website Crawler?
- 27. KimonoLabs Crawler Erzeugte URL-Liste mit regex
- 28. Schnittstelle Web Crawler mit Django Frontend
- 29. Crawler-Prozesse sterben unerwartet
- 30. Kopfloser Edelstein: webkit_server: kann keine Verbindung zum X-Server herstellen
Sie meinen das [WebBrowser-Steuerelement] (http://msdn.microsoft.com/en-us/library/te2y1x6.aspx)? –
möglich Duplikat von [WebClient runs javascript] (http://stackoverflow.com/questions/5372277/webclient-runs-javascript) –
Wie planen Sie es zu verwenden? – jrummell