本人菜鸟,想知道怎么写C#代码实现对网页的操作,例如用代码打开IE“百度”(使IE页面显示在自己的程序窗口里)在文本框里面显示自己预先设置好的内容并自动确认搜索,还有提取网页中的jpg或gif图片并显示在自己的程序窗口中,请求高手来帮忙,本人很纠结.............................
解决方案 »
- 如何抓取页面中JS生成的HTML代码?
- VS的外接程序如何操纵 WEB页面设计器?
- 求一个C# 的web框架源码或链接,找了一上午居然没找到可可用的,功能一般即可,不能有dll的 [C#]
- 救各位高手隱士高人江湖大俠按鍵相助.utf8與unicode這個問題..心急火燎......
- datagird表头实现类似框架(左上下)的结构 高手请进,在线等
- c#如何针对Powerpoint编程
- 水晶报表组排序
- c# 字符串截取问题,取出特定的字符串
- 求一份VS2005用serialport类发短信的实例!
- 问大家一个简单问题,关于表达式的!!
- 一个关于接口的小问题
- 帮忙用xml.linq解析一下这个xml格式字符串
1.构造查询网址,如:http://www.baidu.com/s?wd=%B1%A8%CF%B2%C4%F1
(查询"报喜鸟",汉字编码用UTF-8)
code:
//要抓取的URL地址
string Url = "http://www.baidu.com/s?wd=%B1%A8%CF%B2%C4%F1"; 2.取回查询结果
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
//声明一个HttpWebRequest请求
request.Headers.Set("Pragma", "no-cache");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("GB2312");
StreamReader streamReader = new StreamReader(streamReceive, encoding);
strResult = streamReader.ReadToEnd(); 3.分析查询结果:
//取出和数据有关的那段源码
int iBodyStart = strResult .IndexOf("<body", 0);
int iStart = strResult .IndexOf("歌曲TOP500", iBodyStart);
int iTableStart = strWebContent.IndexOf("<table", iStart);
int iTableEnd = strWebContent.IndexOf("</table>", iTableStart);
string strWeb = strWebContent.Substring(iTableStart, iTableEnd - iTableStart + 8); 4.生成文档放在自己的程序中
//生成HtmlDocument
WebBrowser webb = new WebBrowser();
webb.Navigate("about:blank");
HtmlDocument htmldoc = webb.Document.OpenNew(true);
htmldoc.Write(strWeb);
HtmlElementCollection htmlTR = htmldoc.GetElementsByTagName("TR");
foreach (HtmlElement tr in htmlTR)
{
string strID = tr.GetElementsByTagName("TD")[0].InnerText;
string strName = SplitName(tr.GetElementsByTagName("TD")[1].InnerText, "MusicName");
string strSinger = SplitName(tr.GetElementsByTagName("TD")[1].InnerText, "Singer");
strID = strID.Replace(".", "");
//插入DataTable
AddLine(strID, strName, strSinger,"0");
string strID1 = tr.GetElementsByTagName("TD")[2].InnerText;
string strName1 = SplitName(tr.GetElementsByTagName("TD")[3].InnerText, "MusicName");
string strSinger1 = SplitName(tr.GetElementsByTagName("TD")[3].InnerText, "Singer");
//插入DataTable
strID1 = strID1.Replace(".", "");
AddLine(strID1, strName1, strSinger1,"0");
string strID2 = tr.GetElementsByTagName("TD")[4].InnerText;
string strName2 = SplitName(tr.GetElementsByTagName("TD")[5].InnerText, "MusicName");
string strSinger2 = SplitName(tr.GetElementsByTagName("TD")[5].InnerText, "Singer");
//插入DataTable
strID2 = strID2.Replace(".", "");
AddLine(strID2, strName2, strSinger2,"0");
InsertData(dt);
dataGridView1.DataSource = dt.DefaultView;//以上很详细,根据自己的实际情况,改一下查询结果代码分析,就能变成自己的程序.
//如果可以请给分,我没分下载了.