ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c#实现从其他网站抓取imei码信息,手工输入验证码

2020-04-01 10:06:36  阅读:358  来源: 互联网

标签:wb c# HtmlAgilityPack 抓取 System html using imei new


 

阅读全文:http://www.yzswyl.cn/blread-1603.html

 

功能:从其他网站手工输入验证码并抓取手机IMEI信息

 

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 System.Net; using System.IO;       namespace getImei {     public partial class Form1 : Form     {         private String imgUrl;         string url = "http://abc.aspx";//抓取的地址         private WebBrowser wb = new WebBrowser();         Uri baseUri;         WebClient wc = new WebClient();               public Form1()         {             InitializeComponent();         }               private void Form1_Load(object sender, EventArgs e)         {             wb.Navigate(url);             wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);               }               //重新获取验证码         private void button1_Click(object sender, EventArgs e)         {              wb.Navigate(url);              wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);               }               private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)         {             if (wb.Document.Url == e.Url)             {                 //加载完毕。                 HtmlAgilityPack.HtmlDocument html = new HtmlAgilityPack.HtmlDocument();                 html.LoadHtml(wb.DocumentText);                 HtmlAgilityPack.HtmlNode htmlNode = html.DocumentNode;                 HtmlAgilityPack.HtmlNode tagImg = htmlNode.SelectSingleNode("//*[@id=\"SNTD\"]/img");                 if (tagImg != null)                 {                     string imgReUri = tagImg.GetAttributeValue("src", "");                     baseUri = new Uri(url);                     Uri imgUri = new Uri(baseUri, imgReUri);                           byte[] imgData = wc.DownloadData(imgUri);                           pictureBox1.Image = BytesToImage(imgData);                 }             }             if (wb.Document.Url.ToString().Contains("Check/IMEIValidateDetail.aspx?a="))             {                 //内容                 HtmlAgilityPack.HtmlDocument html = new HtmlAgilityPack.HtmlDocument();                 html.LoadHtml(wb.DocumentText);                 HtmlAgilityPack.HtmlNode htmlNode = html.DocumentNode;                 HtmlAgilityPack.HtmlNode summary = htmlNode.SelectSingleNode("//table[@class=\"checkContent2\"]");                 if (summary != null)                 {                     //webBrowser1.DocumentText = summary.InnerText;                     richTextBox1.Text = summary.InnerHtml;                 }                       //图片                 HtmlAgilityPack.HtmlNode iframe = htmlNode.SelectSingleNode("//table[@class=\"checkContent2\"]/tr[1]/td[1]/iframe");                 if (iframe != null)                 {                     string frameRes = iframe.GetAttributeValue("src", "无图片");                     Uri frameUri = new Uri(baseUri, frameRes);                     string iframePageData = wc.DownloadString(frameUri);                     html.LoadHtml(iframePageData);                     htmlNode = html.DocumentNode;                     HtmlAgilityPack.HtmlNode imgNode = htmlNode.SelectSingleNode("//*[@id=\"imgEQ\"]");                     if (imgNode != null)                     {                         string thumbRes = imgNode.GetAttributeValue("src", "");                         Uri thumbUri = new Uri(baseUri, thumbRes);                         pictureBox2.Load(thumbUri.ToString());                     }                       }             }         }               public static Image BytesToImage(byte[] bytes)         {             MemoryStream ms = new MemoryStream(bytes);             Image img = Image.FromStream(ms);             return img;         }               //抓取IMEI内容         private void button2_Click(object sender, EventArgs e)         {             wb.Document.GetElementById("ctl00$ContentPlaceHolder1$IMEICode").InnerText = "****************";//手机IMET号码             wb.Document.GetElementById("ctl00_ContentPlaceHolder1_txtValidateCode").InnerText = textBox1.Text;             wb.Document.GetElementById("ctl00_ContentPlaceHolder1_submit").InvokeMember("click");             while (wb.ReadyState != WebBrowserReadyState.Complete)             {                 Application.DoEvents();             }         }         //查看详细信息         private void button3_Click(object sender, EventArgs e)         {             foreach (HtmlElement he in wb.Document.GetElementsByTagName("a"))             {                 if ("(查看详细)".Equals(he.InnerText.Trim()))                 {                     he.InvokeMember("click");                     break;                 }             }         }                       } }

 

  

 

控件

 

pictureBox1

 

label1

 

textBox1

 

button1

 

button2

 

button3

 

pictureBox2

 

richTextBox1

 

引用

 

下载HtmlAgilityPack,添加引用,下载地址:http://htmlagilitypack.codeplex.com/ ,点击右侧的download即可下载

 

效果

 

 

原文:http://www.yzswyl.cn/blread-1603.html

 

标签:wb,c#,HtmlAgilityPack,抓取,System,html,using,imei,new
来源: https://www.cnblogs.com/jjg0519/p/12610633.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有