首页 / C# / c#语言输入关键字,抓取你想要的所有网址
c#语言输入关键字,抓取你想要的所有网址
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#语言输入关键字,抓取你想要的所有网址,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2563字,纯文字阅读大概需要4分钟。
内容图文
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using mshtml; using System.Collections; using System.Threading; namespace 遍历百度网页 { public delegate void baidu111(); public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { listView1.GridLines = true; } Thread thread; void baidu() { baidu111(); } void baidu111() { if (webBrowser1.InvokeRequired) { baidu111 dr = new baidu111(baidu111); this.Invoke(dr); } else { string url = "http://www.baidu.com/s?wd=" + textBox1.Text; webBrowser1.Navigate(url.Trim()); } } //点击停止privatevoid button2_Click(object sender, EventArgs e) { } privatevoid button1_Click(object sender, EventArgs e) { // System.Diagnostics.Process.Start("http://www.baidu.com"); //webBrowser1.Navigate("http://www.baidu.com/"); thread = new Thread(new ThreadStart(baidu)); thread.IsBackground = true; thread.Start(); baidu(); } int i = 0; publicvoid bianli() { IHTMLDocument2 doc = webBrowser1.Document.DomDocument as IHTMLDocument2; foreach (IHTMLElement ele in doc.all) { if (ele.innerText == "下一页>") { ele.click(); i++; if (i==3) { break; } } } } ///<summary>/// 判读网页是否加载完成 ///</summary>///<param name="sender"></param>///<param name="e"></param>privatevoid webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (i==3) { return; } if (e.Url == webBrowser1.Document.Url) { bianliwangye(); } } ///<summary>/// 枚举获取百度搜索页面的所有网址 ///</summary>/// ArrayList all=new ArrayList(); string a1; publicvoid bianliwangye() { IHTMLDocument2 document = (IHTMLDocument2)webBrowser1.Document.DomDocument;//获取源代码 IHTMLElementCollection hc = (IHTMLElementCollection)document.all;//获取所有标签 //MessageBox.Show(hc.ToString());foreach (IHTMLElement h in hc)//遍历标签 { if (h.className == "g" || h.className == "c-showurl")//以标签classname判读 { string a = h.innerHTML;//获取标签文本内容if (a.Contains(" ")) { int b = a.IndexOf(" "); a1 = a.Substring(0, b);//截取网址 MessageBox.Show(a1); all.Add(a1); } } } bianli();//当枚举到当前页面最后一个网址,模拟点击进入下一页 } privatevoid button3_Click(object sender, EventArgs e) { listView1.Columns.Add("编号"); listView1.Columns.Add("获取到的网址",400); for (int i = 0; i < all.Count; i++) { listView1.Items.Add((i+1).ToString()); listView1.Items[i].SubItems.Add(all[i].ToString()); } } } }
原文:http://www.cnblogs.com/275147378abc/p/4620581.html
内容总结
以上是互联网集市为您收集整理的c#语言输入关键字,抓取你想要的所有网址全部内容,希望文章能够帮你解决c#语言输入关键字,抓取你想要的所有网址所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。