使用HtmlAgilityPack批量抓取网页数据
2011-01-07 17:31
453 查看
转:/article/4787733.html
登录的处理。因为有些网页数据需要登陆后才能提取。这里要使用ieHTTPHeaders来提取登录时的提交信息。
抓取网页
HtmlAgilityPack.HtmlDocument htmlDoc;
if (!string.IsNullOrEmpty(登录URL))
else
ArrayList list = new ArrayList();
list.add("//table/tr[1]/td");
list.add("//table/tr[2]/td");
//获取循环的节点的xpath,比如://table/tr
HtmlNodeCollection repeatNodes = htmlDoc.DocumentNode.SelectNodes("//table/tr");
//循环节点
foreach (HtmlNode node in repeatNodes)
htmlWeb.DefaultEncoding = System.Text.Encoding.GetEncoding(strEncode);
-------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TestTools.WebTesting;
using HtmlAgilityPack;
public class WebTest1Coded : WebTest
{
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
WebTestRequest request1 = new WebTestRequest("http://www.microsoft.com/");
request1.ValidateResponse += new EventHandler<ValidationEventArgs>(request1_ValidateResponse);
yield return request1;
}
void request1_ValidateResponse(object sender, ValidationEventArgs e)
{
//load the response body string as an HtmlAgilityPack.HtmlDocument
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(e.Response.BodyString);
//locate the "Nav" element
HtmlNode navNode = doc.GetElementbyId("Nav");
//pick the first <li> element
HtmlNode firstNavItemNode = navNode.SelectSingleNode(".//li");
//validate the first list item in the Nav element says "Windows"
e.IsValid = firstNavItemNode.InnerText == "Windows";
}
}
if ($ != jQuery) {
$ = jQuery.noConflict();
}
登录的处理。因为有些网页数据需要登陆后才能提取。这里要使用ieHTTPHeaders来提取登录时的提交信息。
抓取网页
HtmlAgilityPack.HtmlDocument htmlDoc;
if (!string.IsNullOrEmpty(登录URL))
else
ArrayList list = new ArrayList();
list.add("//table/tr[1]/td");
list.add("//table/tr[2]/td");
//获取循环的节点的xpath,比如://table/tr
HtmlNodeCollection repeatNodes = htmlDoc.DocumentNode.SelectNodes("//table/tr");
//循环节点
foreach (HtmlNode node in repeatNodes)
htmlWeb.DefaultEncoding = System.Text.Encoding.GetEncoding(strEncode);
-------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TestTools.WebTesting;
using HtmlAgilityPack;
public class WebTest1Coded : WebTest
{
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
WebTestRequest request1 = new WebTestRequest("http://www.microsoft.com/");
request1.ValidateResponse += new EventHandler<ValidationEventArgs>(request1_ValidateResponse);
yield return request1;
}
void request1_ValidateResponse(object sender, ValidationEventArgs e)
{
//load the response body string as an HtmlAgilityPack.HtmlDocument
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(e.Response.BodyString);
//locate the "Nav" element
HtmlNode navNode = doc.GetElementbyId("Nav");
//pick the first <li> element
HtmlNode firstNavItemNode = navNode.SelectSingleNode(".//li");
//validate the first list item in the Nav element says "Windows"
e.IsValid = firstNavItemNode.InnerText == "Windows";
}
}
if ($ != jQuery) {
$ = jQuery.noConflict();
}
相关文章推荐
- 使用HtmlAgilityPack抓取网页数据
- 【.NET】使用HtmlAgilityPack抓取网页数据
- 使用node.js cheerio抓取网页数据
- 使用HtmlAgilityPack抓取网页数据
- 使用HtmlAgilityPack和ScrapySharp抓取网页数据遇到的几个问题解决方法——格式编码问题
- 使用HtmlAgilityPack批量抓取网页数据
- 使用java开源工具jsoup抓取解析网页数据
- Jsoup简介——使用Java抓取网页数据
- 使用java开源工具httpClient及jsoup抓取解析网页数据
- 使用C#抓取网页内容并分析获取数据
- 使用java开源工具httpClient及jsoup抓取解析网页数据
- android:获取富文本图片和使用Jsoup抓取腾讯新闻网页数据
- php使用curl和正则表达式抓取网页数据示例
- 【.NET】使用HtmlAgilityPack抓取网页数据
- 一个简单的使用python抓取网页中的水文数据的程序
- Jsoup简介——使用Java抓取网页数据
- 使用Jsoup进行网页数据抓取
- 【.NET】使用HtmlAgilityPack抓取网页数据
- 使用java抓取网页的数据