我正在做一个项目,我需要登录网站并抓取网页内容。我尝试了以下代码:
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);
}
这会刮掉邮件的登录页面。但我需要抓住我的收件箱细节。请提前告知我如何进一步处理。
答案 0 :(得分:1)
请参阅此questions及相关问题。我们必须先研究网页的HTML源代码才能正确废弃它。因此,请手动登录并获取收件箱页面的来源,然后对其进行研究以获取它。
为什么不使用雅虎的网络邮件API?哪个是更好的解决方案。
答案 1 :(得分:0)
P.S。:它被称为“刮擦”,并且会调用屏幕刮擦的行为(你猜对了!)“屏幕刮擦”。当用作动词时,“废料”一词意味着丢弃 - 例如“项目已被废弃!” ; - )
答案 2 :(得分:0)
我建议你先使用一个名为Fiddler的工具来分析目标网站和浏览器之间的通信。您可以查看所有http标头,Cookie,内容等。
一旦您的webClient对象能够复制浏览器的操作,包括登录,设置适当的cookie等,您就可以自动执行该过程。
最后,一旦你有了所需的HTML,使用正则表达式从中提取你想要的信息。