主頁(yè) > 知識(shí)庫(kù) > 使用HtmlAgilityPack XPath 表達(dá)式抓取博客園數(shù)據(jù)的實(shí)現(xiàn)代碼

使用HtmlAgilityPack XPath 表達(dá)式抓取博客園數(shù)據(jù)的實(shí)現(xiàn)代碼

熱門標(biāo)簽:上海400客服電話怎么申請(qǐng) 銀行信貸電話機(jī)器人 合肥ai電銷機(jī)器人費(fèi)用 天津電銷外呼系統(tǒng)違法嗎 凱立德地鐵站地圖標(biāo)注 400電話個(gè)人能不能辦理 滄州電銷外呼系統(tǒng)價(jià)格 溫州外呼系統(tǒng)招商 手機(jī)外呼系統(tǒng)什么原理


Web 前端代碼

復(fù)制代碼 代碼如下:

%@ 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>
標(biāo)題
/td>
td>
發(fā)布作者
/td>
td>
發(fā)布時(shí)間
/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 后臺(tái)代碼:
復(fù)制代碼 代碼如下:

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"];//分頁(yè),p=p2,p=p3
}
Stream stream = wc.OpenRead(address);
StreamReader sr = new StreamReader(stream, Encoding.UTF8);
string html = sr.ReadToEnd();
//實(shí)例化HtmlAgilityPack.HtmlDocument對(duì)象
HtmlDocument doc = new HtmlDocument();
//載入HTML
doc.LoadHtml(html);
//根據(jù)HTML節(jié)點(diǎn)NODE的ID獲取節(jié)點(diǎn)
HtmlNode navNode = doc.GetElementbyId("post_list");
//div[2]表示文章鏈接a位于post_list里面第3個(gè)div節(jié)點(diǎn)中
HtmlNodeCollection list = navNode.SelectNodes("http://div[2]/h3/a"); //根據(jù)XPATH來(lái)索引節(jié)點(diǎn)
Cnblogs cnblogs = null;
IListCnblogs> cnlist = new ListCnblogs>();
foreach (HtmlNode node in list)
{
cnblogs = new Cnblogs();
//獲取文章鏈接地址
cnblogs.url = node.Attributes["href"].Value.ToString();
//獲取文章標(biāo)題
cnblogs.title = node.InnerText;
cnlist.Add(cnblogs);
}
HtmlNodeCollection list1 = navNode.SelectNodes("http://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("發(fā)布于", "").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; }
}
}

您可能感興趣的文章:
  • c#通過xpath讀取xml示例
  • java使用xpath解析xml示例分享
  • java使用xpath和dom4j解析xml
  • DOM XPATH獲取img src值的query
  • 深入XPath的詳解以及Java示例代碼分析
  • 解析XPath語(yǔ)法之在C#中使用XPath的示例詳解
  • php XPath對(duì)XML文件查找及修改實(shí)現(xiàn)代碼
  • xpath的數(shù)據(jù)和節(jié)點(diǎn)類型以及XPath中節(jié)點(diǎn)匹配的基本方法
  • xpath簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

標(biāo)簽:酒泉 洛陽(yáng) 金華 七臺(tái)河 溫州 赤峰 怒江 白城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用HtmlAgilityPack XPath 表達(dá)式抓取博客園數(shù)據(jù)的實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  使用,HtmlAgilityPack,XPath,表達(dá)式,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用HtmlAgilityPack XPath 表達(dá)式抓取博客園數(shù)據(jù)的實(shí)現(xiàn)代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于使用HtmlAgilityPack XPath 表達(dá)式抓取博客園數(shù)據(jù)的實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章