一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 使用HtmlAgilityPack XPath 表達式抓取博客園數據的實現代碼

使用HtmlAgilityPack XPath 表達式抓取博客園數據的實現代碼

2019-09-24 10:38asp.net教程網 ASP.NET教程

使用HtmlAgilityPack XPath表達式來抓取博客園數據使用WebClient 下載數據,HtmlAgilityPack XPath表達式解析數據,并綁定到Repeater控件

使用HtmlAgilityPack XPath 表達式抓取博客園數據的實現代碼

使用HtmlAgilityPack XPath 表達式抓取博客園數據的實現代碼

Web 前端代碼

復制代碼代碼如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<table cellpadding="1" cellspacing="1" bgcolor="#f1f1f1" style="text-align: center"> 
<asp:Repeater ID="Repeater1" runat="server"> 
<HeaderTemplate> 
<tr> 
<td> 
標題 
</td> 
<td> 
發布作者 
</td> 
<td> 
發布時間 
</td> 
</tr> 
</HeaderTemplate> 
<ItemTemplate> 
<tr bgcolor="#ffffff"> 
<td align="left"> 
<a href='<%#Eval("url") %>' target="_blank"> 
<%#Eval("title") %> 
</a> 
</td> 
<td> 
<a href='<%#Eval("authorUrl") %>' target="_blank"> 
<%#Eval("author") %> 
</a> 
</td> 
<td> 
<%#Eval("updatetime") %> 
</td> 
</tr> 
</ItemTemplate> 
</asp:Repeater> 
</table> 
</div> 
</form> 
</body> 
</html> 


cs 后臺代碼: 

復制代碼代碼如下:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using S1; 
using System.Net; 
using System.IO; 
using System.Text; 
using HtmlAgilityPack; 
public partial class _Default : System.Web.UI.Page 

protected void Page_Load(object sender, EventArgs e) 

string page = string.Empty; 
if (!IsPostBack) 

WebClient wc = new WebClient(); 
string address = "http://www.cnblogs.com"; 
if (!string.IsNullOrEmpty(Request.QueryString["p"])) 

address += "/" + Request.QueryString["p"];//分頁,p=p2,p=p3 

Stream stream = wc.OpenRead(address); 
StreamReader sr = new StreamReader(stream, Encoding.UTF8); 
string html = sr.ReadToEnd(); 
//實例化HtmlAgilityPack.HtmlDocument對象 
HtmlDocument doc = new HtmlDocument(); 
//載入HTML 
doc.LoadHtml(html); 
//根據HTML節點NODE的ID獲取節點 
HtmlNode navNode = doc.GetElementbyId("post_list"); 
//div[2]表示文章鏈接a位于post_list里面第3個div節點中 
HtmlNodeCollection list = navNode.SelectNodes("//div[2]/h3/a"); //根據XPATH來索引節點 
Cnblogs cnblogs = null; 
IList<Cnblogs> cnlist = new List<Cnblogs>(); 
foreach (HtmlNode node in list) 

cnblogs = new Cnblogs(); 
//獲取文章鏈接地址 
cnblogs.url = node.Attributes["href"].Value.ToString(); 
//獲取文章標題 
cnblogs.title = node.InnerText; 
cnlist.Add(cnblogs); 

HtmlNodeCollection list1 = navNode.SelectNodes("//div[2]/div/a"); 
for (int i = 0; i < cnlist.Count; i++) 

cnlist[i].author = list1[i].InnerText; 
cnlist[i].authorUrl = list1[i].Attributes["href"].Value.ToString(); 
cnlist[i].updatetime = list1[i].NextSibling.InnerText.Replace("發布于", "").Trim(); 

this.Repeater1.DataSource = cnlist; 
this.Repeater1.DataBind(); 


public class Cnblogs 

public string title { get; set; } 
public string url { get; set; } 
public string author { get; set; } 
public string authorUrl { get; set; } 
public string updatetime { get; set; } 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久综合色超碰人人 | 免费一看一级毛片人 | 美女的隐私视频免费看软件 | 日韩欧美在线视频一区二区 | 麻豆网站在线观看 | 娇妻被健身教练挺进小说阅读 | 五月天中文在线 | 毛片视频网站 | 动漫美女强行被吸乳做羞羞事 | 国产一区二区视频在线播放 | 精品视频免费在线观看 | 久久电影院久久国产 | 国色天香视频完整版 | 日本连裤袜xxxxx在线视频 | 二次元美女扒开内裤露尿口 | 爆操萝莉 | 午夜看片a福利在线观看 | 99久久99热久久精品免 | 视频在线观看一区二区三区 | 亚洲热图 | 午夜影院网页 | jizzjizz3d动漫| 91青青视频 | 高清女主播一区二区三区 | 91四虎国自产在线播放线 | 国产动作大片 | 成人150p | 精品一久久香蕉国产线看播放 | bt天堂在线观看国产 | 6080午夜| 四虎一影院区永久精品 | 国产一区二区免费视频 | 亚洲国产在线视频精品 | 草草视频在线观看 | 国产午夜小视频 | 国产日韩精品一区二区在线观看 | 国产精品久久久 | 亚洲久草在线 | 国产高清在线不卡 | 男人天堂网站在线 | 欧美日韩看看2015永久免费 |