0

我正在做一个项目,我需要登录一个网站并抓取网页内容。我尝试了以下代码:

protected void Page_Load(object sender, EventArgs e)
{
    WebClient webClient = new WebClient();
    string strUrl = "http://www.mail.yahoo.com?username=sakthivel123&password=operator&login=1";
    byte[] reqHTML;
    reqHTML = webClient.DownloadData(strUrl);
    UTF8Encoding objUTF8 = new UTF8Encoding();
    Label1.Text = objUTF8.GetString(reqHTML1);
}

这会刮掉邮件的登录页面。但我需要抓取我的收件箱详细信息。请指导我如何进一步进行,在此先感谢。

4

3 回答 3

1

请参阅此问题和相关问题。我们必须先研究网页的 HTML 源代码,然后才能正确废弃它。所以手动登录,获取收件箱页面的来源,然后研究它来抓取它。

为什么不使用 yahoo 的 webmail API?这是一个更好的解决方案。

于 2009-04-17T05:05:03.753 回答
0

看到这个问题 -编写一个扫描电子商务网站并从中提取产品图片+价格+描述的C#程序

PS:它被称为“scrape”,执行屏幕抓取的行为将被称为(你猜对了!)“Screen scraping”。用作动词时,“scrap”一词表示丢弃 - 例如“项目已废弃!” ;-)

于 2009-04-17T05:03:37.237 回答
0

我建议您首先使用一个名为 Fiddler 的工具来分析目标站点和浏览器之间的通信。您可以查看所有的 http 标头、cookie、内容等。

一旦您的 webClient 对象能够复制浏览器的操作,包括登录、设置适当的 cookie 等,您就可以自动执行该过程。

最后,一旦您拥有所需的 HTML,就可以使用正则表达式从中提取您想要的信息。

于 2009-04-17T05:20:19.660 回答