c# 抓取和解析网页,并将table数据保存到datatable中(其他格式也可以,自己去修改)
使用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中(其他格式也可以,自己去修改)的更多相关文章
- 使用Python中的urlparse、urllib抓取和解析网页(一)(转)
对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...
- Python中的urlparse、urllib抓取和解析网页(一)
对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...
- 1.scrapy爬取的数据保存到es中
先建立es的mapping,也就是建立在es中建立一个空的Index,代码如下:执行后就会在es建lagou 这个index. from datetime import datetime fr ...
- 将爬取的数据保存到mysql中
为了把数据保存到mysql费了很多周折,早上再来折腾,终于折腾好了 安装数据库 1.pip install pymysql(根据版本来装) 2.创建数据 打开终端 键入mysql -u root -p ...
- Jsoup抓取、解析网页和poi存取excel综合案例——采集网站的联系人信息
需求:采集网站中每一页的联系人信息 一.创建maven工程,添加jsoup和poi的依赖包 <!-- https://mvnrepository.com/artifact/org.apache. ...
- 使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)(转)
对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过 Python语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...
- Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)
对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过 Python语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...
- python爬取数据保存到Excel中
# -*- conding:utf-8 -*- # 1.两页的内容 # 2.抓取每页title和URL # 3.根据title创建文件,发送URL请求,提取数据 import requests fro ...
- 【python】使用Python中的urlparse、urllib抓取和解析网页
一.解析URL 函数urlparse(urlstring [, default_scheme [, allow_fragments]])的作用是将URL分解成不同的组成部分,它从urlstring中取 ...
随机推荐
- [翻译] LLSimpleCamera
LLSimpleCamera https://github.com/omergul123/LLSimpleCamera LLSimpleCamera is a library for creating ...
- [翻译] ASFTableView
ASFTableView A customizable Web like multi column table view for iOS with header and inner rows. 一个类 ...
- 前端 网络三剑客之html 01
一.引语 1.html是什么? 1.超文本标记语言(Hypertext Markup Language):简称HTML或html.是通过标签语言来标记要显示的网页中的各个部分. 2.它遵循一套浏览器的 ...
- Python初学者第二十四天 函数进阶(3)生成器
24day 1.列表生成式: 循环模式:[变量(加工后的变量) for 变量 in iterable] print([i for i in range(0,101,2)]) [1,4,9,16,25, ...
- 第八章 计时器(DIGCLOCK)
/*-------------------------------------- DIGCLOCK.C -- Digital Clock (c) Charles Petzold, 1998 ----- ...
- AT89S52之串行异步通信笔记
SRF 中断入口地址 中断源 外中断 外部中断0 INT0(P3.2) 外部中断1 INT1(P3.3) 电平方式触发 低电平 脉冲方式触发 脉冲后延的负跳 内中断 定时中断 串行中断 中断允许控制寄 ...
- September 08th 2017 Week 36th Friday
Death is so terribly final, while life is full of possibilities. 死亡是冰冷可怕的绝境,而或者却充满了无限的可能. It isn't t ...
- 【错误记录】记录蛋疼的 mysql 错误
-- 应用信息表 DROP TABLE IF EXISTS `table_name`; CREATE TABLE `ks_apps_info` ( `id` ) NOT NULL COMMENT 'i ...
- 代理错误[WinError 10061]
操作过程: import urllib.request from urllib.error import URLError,HTTPError proxy_handler = urllib.reque ...
- 1191. [HNOI2006]超级英雄【二分图】
Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的 多少获得不同数目的奖品或奖金.主持人问题准备了若干道题目,只有当选手正确 ...