首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Iron Web Scraper登录

Iron Web Scraper登录
EN

Stack Overflow用户
提问于 2019-04-11 04:57:44
回答 1查看 524关注 0票数 0

在抓取网站之前,我已经阅读了登录网站的教程,但它就是不起作用。我构造了一个HttpIdentity对象,将其添加到Identities集合中,并处理了请求,但是返回到scrape的页面仍然是登录页面。在他们的网站和文档中没有太多关于这方面的内容。下面是我的代码:

代码语言:javascript
复制
var identity = new HttpIdentity
        {
            UseCookies = true,
            NetworkUsername = _username,
            NetworkPassword = _password
        };

        Identities.Add(identity);

        Request(_uri, Parse, identity);

在解析方法中,我得到一个Response对象,返回的状态码为200,Response的"WasSuccessful“属性为"true”。看起来我应该被重定向到我试图访问的页面,但我只是得到了登录的html。

我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-04-12 01:19:21

我无法使用Iron Web Scraper找到解决方案,但我可以使用ScrapySharp,这是一个免费的实用程序,所以它成功了。ScrapySharp能够在一定程度上模仿浏览器,因此导航和提交表单非常容易。

代码语言:javascript
复制
var browser = new ScrapingBrowser();

var homepage = browser.NavigateToPage(_Uri); // login Uri

var form = homepage.FindForm("login"); // get form by name

form.Method = HttpVerb.Post;

form["username"] = "my_username"; // get form fields by id
form["password"] = "my_password";

var resultPage = form.Submit(); // login

var loggedInPage = browser.NavigateToPage(new Uri("https://path.to.target.page"));

就是这样。我不确定Iron Web Scraper有什么问题。也许在登录页面上有一些ajax。在任何情况下,这段代码现在都可以为我工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55621221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档