C#使用xpath简单爬取网站的内容
- public static void Get()
- {
- // string xpathtrI = "//*[@id='classify-list']/dl/dd/a/cite/span/i";
- #region 获取首页的分类
- ////主页的html地址
- //string urlHome = "http://www.qidian.com/";
- //HtmlWeb web = new HtmlWeb();
- //HtmlAgilityPack.HtmlDocument htmlDoc = web.Load(urlHome);
- ////创建html的节点
- //HtmlNode rootNode1 = htmlDoc.DocumentNode;
- //string xpathtrA = "//*[@id='classify-list']/dl/dd";
- //HtmlNodeCollection classList = rootNode1.SelectNodes(xpathtrA);
- //List<string> listINode = new List<string>();
- //foreach (HtmlNode item in classList)
- //{
- // //获取分类
- // string inode = item.SelectSingleNode("//a/cite/span/i").InnerText;
- // listINode.Add(inode);
- //}
- #endregion
- #region 分类及明细
- //string urlDetail = "http://xuanhuan.qidian.com/";
- //List<string> urlList = new List<string>();
- //urlList.Add("http://xuanhuan.qidian.com/");
- //urlList.Add("http://qihuan.qidian.com/");
- //urlList.Add("http://wuxia.qidian.com/");
- //urlList.Add("http://xianxia.qidian.com/");
- //urlList.Add("http://dushi.qidian.com/");
- //urlList.Add("http://zhichang.qidian.com/");
- //urlList.Add("http://junshi.qidian.com/");
- //urlList.Add("http://lishi.qidian.com/");
- //urlList.Add("http://youxi.qidian.com/");
- //urlList.Add("http://tiyu.qidian.com/");
- //urlList.Add("http://kehuan.qidian.com/");
- //urlList.Add("http://lingyi.qidian.com/");//foreach (string url in urlList)
- //{
- // HtmlAgilityPack.HtmlDocument htmlDetail = web.Load(url);
- // HtmlNode rootNode2 = htmlDetail.DocumentNode;
- // string a = "//*[@class='book-info']";
- // HtmlNodeCollection classList2 = rootNode2.SelectNodes(a);
- // List<string> listINode2 = new List<string>();
- // foreach (HtmlNode item in classList2)
- // {
- // //获取分类
- // string inode = item.InnerHtml;
- // listINode2.Add(inode);
- // }
- //}
- #endregion
- #region 文章内容
- HtmlWeb web = new HtmlWeb();
- string u = "http://read.qidian.com/chapter/zOGI9RYmNdFhO--gcH8iFg2/h3iHSEH1cSpMs5iq0oQwLQ2";
- HtmlAgilityPack.HtmlDocument htmlDocment = web.Load(u);
- //创建html的节点
- HtmlNode htmlNode = htmlDocment.DocumentNode;
- string x = "//*[@class='read-content j_readContent']";
- HtmlNode htmlNodeP = htmlNode.SelectSingleNode(x);
- string htmlD = htmlNodeP.InnerText;
- #endregion
- }
只是拿一个例子而已。
C#使用xpath简单爬取网站的内容的更多相关文章
- Python入门,以及简单爬取网页文本内容
最近痴迷于Python的逻辑控制,还有爬虫的一方面,原本的目标是拷贝老师上课时U盘的数据.后来发现基础知识掌握的并不是很牢固.便去借了一本Python基础和两本爬虫框架的书.便开始了自己的入坑之旅 言 ...
- Python简单爬取Amazon图片-其他网站相应修改链接和正则
简单爬取Amazon图片信息 这是一个简单的模板,如果需要爬取其他网站图片信息,更改URL和正则表达式即可 1 import requests 2 import re 3 import os 4 de ...
- requests 使用免费的代理ip爬取网站
import requests import queue import threading from lxml import etree #要爬取的URL url = "http://xxx ...
- Python 利用 BeautifulSoup 爬取网站获取新闻流
0. 引言 介绍下 Python 用 Beautiful Soup 周期性爬取 xxx 网站获取新闻流: 图 1 项目介绍 1. 开发环境 Python: 3.6.3 BeautifulSoup: ...
- Java - XPath解析爬取内容
code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } pre { backg ...
- Golang+chromedp+goquery 简单爬取动态数据
目录 Golang+chromedp+goquery 简单爬取动态数据 Golang的安装 下载golang软件 解压golang 配置golang 重新导入配置 chromedp框架的使用 实际的代 ...
- 使用scrapy爬取网站的商品数据
目标是爬取网站http://www.muyingzhijia.com/上全部的商品数据信息,包括商品的一级类别,二级类别,商品title,品牌,价格. 搜索了一下,python的scrapy是一个不错 ...
- requests+xpath+map爬取百度贴吧
# requests+xpath+map爬取百度贴吧 # 目标内容:跟帖用户名,跟帖内容,跟帖时间 # 分解: # requests获取网页 # xpath提取内容 # map实现多线程爬虫 impo ...
- 利用linux curl爬取网站数据
看到一个看球网站的以下截图红色框数据,想爬取下来,通常爬取网站数据一般都会从java或者python爬取,但本人这两个都不会,只会shell脚本,于是硬着头皮试一下用shell爬取,方法很笨重,但旨在 ...
随机推荐
- 关于java异常处理的自我学习
算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeAr ...
- JS_高程3.基本概念(5)语句
1.if语句 2.do-while语句:后测循环语句,循环体内的代码至少执行一次. 3.while语句:前测循环语句. 4.for语句:前测循环语句. 注意:在ECMAScript中不存在块级作用域, ...
- 唯美PS转手绘之SAI篇_百度经验
唯美PS转手绘之SAI篇 https://jingyan.baidu.com/article/fd8044fad3d5c05030137a5f.html
- Kworkerd恶意挖矿分析
转自:https://www.360zhijia.com/anquan/417114.html 0x01 快速特征排查 TOP显示CPU占用高,但是没有高占用的进程 存在与未知服务器13531端口建立 ...
- 给已经存在的项目添加git
1.打开终端,cd到已存在项目的目录 2.输入以下命令行,初始化一个本地仓库: git init 3.输入以下命令,把工程所有文件都添加到该仓库中(千万别忘记后面的.号!!!): git ...
- Java8 stream 中利用 groupingBy 进行多字段分组求和
Java8的groupingBy实现集合的分组,类似Mysql的group by分组功能,注意得到的是一个map 对集合按照单个属性分组 case1: List<String> items ...
- 巧用watch命令执行循环操作,来解放我们的双手
有时候我们需要重复执行某个 命令,观察某个文件和某个结果的变化情况.可以写 脚本去实现这些需求,但是有更简单的方法,本文档要介绍的就是watch 命令. 1. 以固定时间反复执行某个命令 root@j ...
- Control group namespaces
https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces https:// ...
- seaJS简介和完整实例
什么是 seaJS ? 和requireJS相似的,seaJS 也是用JavaScript编写的JS框架,主要功能是可以按不同的先后依赖关系对 JavaScript 等文件的进行加载工作,可简单理解为 ...
- easyui的datagrid和treegrid的使用
$('#listTree').treegrid({ idField: 'id', treeField: 'menuName', columns: [[ { title: 'Task Name', fi ...