2016-09-07 2 views
2

У меня успешно работает scrapysharp в консольном приложении.Как заставить scrapysharp работать в веб-приложении MVC?

Я создал новое веб-приложение MVC в VS2013 без аутентификации или что-то еще особенное. Я использовал nuget для добавления ScrapySharp, а затем получил этот код в своем Home Controller. Я не получаю ответа на мой пейджер. У кого-нибудь есть идеи, почему? Как мне заставить scrapysharp работать в веб-приложении MVC?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using ScrapySharp.Html.Forms; 
using ScrapySharp.Network; 
using ScrapySharp; 
using HtmlAgilityPack; 
using ScrapySharp.Extensions; 

namespace scrapyB.Controllers 
{ 
    public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      var browser = new ScrapingBrowser(); 
      browser.AllowAutoRedirect = true; 
      browser.AllowMetaRedirect = true; 
      var pageresult = browser.NavigateToPage(new Uri("https://google.com")); 
      var x = pageresult; 
      return View(); 
     } 

     public ActionResult About() 
     { 
      ViewBag.Message = "Your application description page."; 

      return View(); 
     } 

     public ActionResult Contact() 
     { 
      ViewBag.Message = "Your contact page."; 

      return View(); 
     } 
    } 
} 

Редактировать На самом деле я просто попробовал приложения Windows Forms и NavigateToPage не возвращает результат либо. Это странно, но похоже, что он работает только в консольном приложении. Кто-нибудь знает, как заставить ScrapySharp работать в чем-то отличном от консольного приложения?

+0

Мне нравится, как люди отмечают вопросы с -1 и не дают понять, как решить проблему. Настолько полезно. – bhs8227

+0

Обратите внимание, что тег model-view-controller предназначен для вопросов о шаблоне. Существует определенный тег для реализации ASP.NET-MVC. –

+0

Спасибо. Я выбрал MVC, не думал. Моя вина. Я вижу, это уже исправлено. Я ценю это. – bhs8227

ответ

2

Хорошо, поэтому scrapysharp имеет функцию NavigateToPageAsync. Это возвращает результат, как ожидалось.

Form.submit() также использует NavigateToPage, но вместо этого вы можете использовать NavigateToPageAsync и передать правильные параметры для отправки формы.

+1

Ты спас свой день. –

Смежные вопросы