使用HtmlAgilityPack 基础请参考这篇博客:https://www.cnblogs.com/fishyues/p/10232822.html

下面是根据抓取的页面string 来解析并保存到datatable中:

        //HtmlString 获取的html页面的字符串
//XmlPath 解析元素在html中的位置,像:XmlPath = "/html/body/div[3]/div[3]/div[1]/table"
public static DataTable ParsingWeb(string HtmlString, string XmlPath)
{
try
{
//HtmlWeb web = new HtmlWeb();
//HtmlDocument doc = web.Load(WebUrl);
var doc = new HtmlDocument();
doc.LoadHtml(HtmlString);
DataTable htTable = new DataTable();
var tablehtml = doc.DocumentNode.SelectSingleNode(XmlPath); if (tablehtml == null)
{
return null;
}
var TrSelected = tablehtml.SelectNodes(".//tr");
foreach (HtmlNode row in TrSelected)
{
var Index = TrSelected.IndexOf(row);
if (TrSelected.IndexOf(row) == )
{
foreach (HtmlNode cell in row.SelectNodes("th|td")) //有些table 表头是写在 td中的
{ htTable.Columns.Add(cell.InnerText, typeof(string));
}
}
else
{
DataRow TempRow = htTable.NewRow();
foreach (HtmlNode cell in row.SelectNodes("th|td"))
{ var position = row.SelectNodes("th|td").IndexOf(cell);
TempRow[htTable.Columns[position].ColumnName] = cell.InnerText;
}
htTable.Rows.Add(TempRow);
}
}
return htTable;
}
catch (Exception e)
{
return null;
}
}

c# 抓取和解析网页,并将table数据保存到datatable中(其他格式也可以,自己去修改)的更多相关文章

  1. 使用Python中的urlparse、urllib抓取和解析网页(一)(转)

    对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...

  2. Python中的urlparse、urllib抓取和解析网页(一)

    对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...

  3. 1.scrapy爬取的数据保存到es中

    先建立es的mapping,也就是建立在es中建立一个空的Index,代码如下:执行后就会在es建lagou 这个index.     from datetime import datetime fr ...

  4. 将爬取的数据保存到mysql中

    为了把数据保存到mysql费了很多周折,早上再来折腾,终于折腾好了 安装数据库 1.pip install pymysql(根据版本来装) 2.创建数据 打开终端 键入mysql -u root -p ...

  5. Jsoup抓取、解析网页和poi存取excel综合案例——采集网站的联系人信息

    需求:采集网站中每一页的联系人信息 一.创建maven工程,添加jsoup和poi的依赖包 <!-- https://mvnrepository.com/artifact/org.apache. ...

  6. 使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)(转)

    对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过 Python语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...

  7. Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)

    对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过 Python语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...

  8. python爬取数据保存到Excel中

    # -*- conding:utf-8 -*- # 1.两页的内容 # 2.抓取每页title和URL # 3.根据title创建文件,发送URL请求,提取数据 import requests fro ...

  9. 【python】使用Python中的urlparse、urllib抓取和解析网页

    一.解析URL 函数urlparse(urlstring [, default_scheme [, allow_fragments]])的作用是将URL分解成不同的组成部分,它从urlstring中取 ...

随机推荐

  1. SqlServer查询存储过程中包含指定的内容

    存储过程太多,有时只记得存储过程里面的某一点类容,想要找到对应的存储过程: SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容 FROM syscomments sc INNE ...

  2. Mysql压缩解决方案

    提到mysql压缩相关的内容,我们能想到的可能是如下几种和压缩相关的场景: 1.客户端和服务器之间传输的数据量太大,需要进行压缩,节约带宽 2.mysql某个列的数据量大,只针对某个列的数据压缩 3. ...

  3. 用TableView写带特效的cell

    用TableView写带特效的cell 效果: 源码地址: https://github.com/YouXianMing/UI-Component-Collection 分析: 在UIScrollVi ...

  4. [C++] 用Xcode来写C++程序[5] 函数的重载与模板

    用Xcode来写C++程序[5] 函数的重载与模板 此节包括函数重载,隐式函数重载,函数模板,带参数函数模板 函数的重载 #include <iostream> using namespa ...

  5. 解决windows 10英文版操作系统中VS2017控制台程序打印中文乱码问题

    当您在windows 10英文版的操作系统中运行Vs2017控制台应用程序时,程序可能无法正常显示中文,中文都变成了乱码.这是由于大部分中文程序所使用的文字编码与Windows 英文系统的文字编码不同 ...

  6. 微信小程序 取随机数

    第一思路 如:现在要从50<  . =<100内取一个随机数: ran.Next(1,50)生成的是1-50的随机数+50 结束 第二思路 Math.random()的取值范围是: 0&l ...

  7. September 15th 2017 Week 37th Friday

    First I need your hand, then forever can begin. 我需要牵着你的手,才能告诉你什么是永远. If you want to shake hands with ...

  8. casperjs,phantomjs,slimerjs and spooky

    1.casperjs http://casperjs.org/ CasperJS is a navigation scripting & testing utility for Phantom ...

  9. CentOS 7下启动、关闭、重启、查看MySQL服务

    1.启动命令 [root@xufeng Desktop]# service mysqld startRedirecting to /bin/systemctl start mysqld.service ...

  10. 4196. [NOI2015]软件包管理器【树链剖分】

    Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖( ...