抓取网页相关方法
来源:互联网 发布:网上买旧书知乎 编辑:程序博客网 时间:2024/06/05 14:49
最近在学习搜索引擎,记录一下相关信息
嵌入式数据库
- BDB
- Perst
信息过滤
- Aho-Corasick
抓取网页的方法
- 使用TCPClient
private static void TCPClientMethod(){ TcpClient client = new TcpClient(); string hostName = "www.sina.com.cn"; int PortNumber = 8080; try { client.Connect(hostName, PortNumber); Console.Write("链接上了"); //获得返回的数据流 NetworkStream clientStream = client.GetStream(); //利用数据流构建流读取器 StreamWriter writeStream = new StreamWriter(clientStream); writeStream.Write("GET/HTTP/1.1\r\n" + "User-Agent:craler request!\r\n" + "Host:www.sina.com.cn\r\n" + "Connection:Close\r\n" + "\r\n" ); writeStream.Flush(); string text = ""; byte[] buffer = new byte[1024]; while (clientStream.Read(buffer, 0, 1024) > 0) { text = text + Encoding.UTF8.GetString(buffer); } Console.WriteLine(text); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { client.Close(); }}
- 使用WebRequest
private static void WebRequestMethod(string urlDownLoad){ //构建一个HttpWebRequest对象 代表要给某个url发送http请求 HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create(urlDownLoad); //获得请求的响应 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //设置编码格式 Encoding encode = Encoding.GetEncoding("utf-8"); //使用流读取器进行读取 TextReader tr = new StreamReader(response.GetResponseStream(), encode); //从头都到尾 string htmlcontent = tr.ReadToEnd(); //获得返回的头信息 WebHeaderCollection whc = response.Headers; for (int i = 0; i < whc.Count; i++) { Console.WriteLine("Header " + whc.GetKey(i) + " : " + whc[i]); } response.Close();}
- 使用WebClient
private static void WebClientMethod(string url){ WebClient webclient = new WebClient(); Stream stream = webclient.OpenRead(url); StreamReader reader = new StreamReader(stream); string strResult = reader.ReadToEnd(); Console.WriteLine(strResult); reader.Close(); stream.Close(); webclient.Dispose();}
提交数据的方法
- GET
private static void GETMethod(string url){ string DefaultUserAgent = "Mozilla/4.0 (compatible;MSIE 6.0;Windows NT 5.2;SV1;.NET CLR 1.1.4322;.NET CLR 2.0.50727)"; HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; //设置头信息 request.UserAgent = DefaultUserAgent;}
- POST
private static void POSTMethod(string url){ HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "POST"; //设置头信息 request.ContentType = "application/x-www-form-urlencoded"; }
*HEAD 获取url页面的长度
private static long HEADGetWebLength(string url){ try { long length = 0; HttpWebRequest req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url)); req.Method = "HEAD"; req.Timeout = 5000; HttpWebResponse res = (HttpWebResponse)req.GetResponse(); if (res.StatusCode == HttpStatusCode.OK) { length = res.ContentLength; } res.Close(); return length; } catch (Exception ex) { return 0; }}
0 0
- 抓取网页相关方法
- 网页内容抓取 图片的抓取方法
- HttpClient抓取网页文件方法
- linux抓取网页的方法
- 三种网页抓取方法
- 从网页抓取数据的一般方法
- 从网页抓取数据的一般方法
- pytyhon抓取网页内容get post方法
- php抓取网页代码四种方法
- C#中抓取网页的方法
- 用php抓取网页内容方法总结
- 从网页抓取数据的一般方法
- 从网页抓取数据的一般方法
- 网页抓取以及一些防范的方法
- 网页信息抓取,分析方法记录
- 用php抓取网页内容方法总结
- ASP.NET抓取网页内容的方法
- 网页抓取与处理的一些方法
- Android:AlertDialog.Builder创建常见对话框
- ubuntu安装jdk
- 数据结构:树
- 用Android Studio通过Java代码调用C代码的JNI流程
- 逐渐变暗
- 抓取网页相关方法
- OS安全系列之一:HTTPS2
- OSGi Bundle Hello World 出现 Could not find bundle: org.eclipse.equinox.console的解决方案
- 文章标题
- apache 中 httpd.conf 的配置详解
- 做好软件测试需要具备的思维方式
- 计数器模块的使用-system generator
- Excel Sheet Column Number 把大写字符串转换为整数
- URL filtering for UIWebView on the iPhone