文章地址

https://blog.csdn.net/sD7O95O/article/details/78097556

 

安装爬虫框架  NUGET 安装DotnetSpider

创建HTTP协议数据包

            var site = new Site
{
CycleRetryTimes = 1,
SleepTime = 200,
Headers = new Dictionary<string, string>()
{
{"Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" },
{"Accept-Encoding","gzip, deflate, br" },
{"Accept-Language","zh-CN,zh;q=0.9" },
{"X-Requested-With","XMLHttpRequest" },
{ "Referer", "https://blog.csdn.net/sD7O95O/article/details/78096027"},
{ "Connection","keep-alive" },
{ "Content-Type","text/html; charset=UTF-8" },
{ "Host","blog.csdn.net"},
{ "User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
}
};
site.AddStartUrl(surl);

创建一个爬虫

            Spider spider = Spider.Create(site,             //
new QueueDuplicateRemovedScheduler(),
new CsdnArticleProcessor() //这个自定义的处理器
).AddPipeline(new CsdnArticlePipeline()); //自定义管道

  

设置爬虫

        spider.Downloader = new HttpClientDownloader();
spider.ThreadNum = 1;
spider.EmptySleepTime = 3000;

  

运行

 spider.Run();

  

 

CsdnArticleProcessor 处理器  xpath 分析就不贴了
public class CsdnArticleProcessor : BasePageProcessor
{
protected override void Handle(Page page)
{
//page.Selectable.SelectList(Selectors.XPath("//table[@id='ip_list']/tr[2]/td[2]/text()")).Nodes(); // 利用 Selectable 查询并构造自己想要的数据对象
//xpath 得到自己需要的数据
       //...
       //page.AddResultItem("CountryResult", results);放入管道
}
}
    class CsdnArticlePipeline : BasePipeline
{ public override void Process(IEnumerable<ResultItems> resultItems, ISpider spider)
{
      var conlist = resukt.GetResultItem("CountryResult");获取数据
//DB处理
}
}

  

DotnetSpider爬虫简单示例 net core的更多相关文章

  1. Java程序中使用 Jsoup 爬虫( 简单示例 )

    一.maven项目里pom添加jsoup依赖 <dependency> <groupId>org.jsoup</groupId> <artifactId> ...

  2. php 爬虫简单示例

    <?php error_reporting(E_ALL^E_NOTICE^E_WARNING); $url = "http://cp.360.cn/ssccq/?menu&r_ ...

  3. 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)

    一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着 ...

  4. Java调度框架Quartz简单示例

    Quartz的大名如雷贯耳,这里就不赘述,而且本文也不作为深入探讨,只是看完Quartz的官方文档后,下个简单示例,至少证明曾经花了点时间学习过,以备不时之需. Quartz使用了SLF4J,所以至少 ...

  5. Optaplanner规划引擎的工作原理及简单示例(2)

    开篇 在前面一篇关于规划引擎Optapalnner的文章里(Optaplanner规划引擎的工作原理及简单示例(1)),老农介绍了应用Optaplanner过程中需要掌握的一些基本概念,这些概念有且于 ...

  6. 超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本

    超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本 前言 上一篇自动化测试,全面且详细的介绍了从零开始到发布版本的步骤,这是传统的方式,本次为大家带来的是如何在5分钟内使用上d ...

  7. Java-Springboot-集成spring-security简单示例(Version-springboot-2-1-3-RELEASE

    使用Idea的Spring Initializr或者SpringBoot官网下载quickstart 添加依赖 1234 <dependency><groupId>org.sp ...

  8. Linux下的C Socket编程 -- server端的简单示例

    Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...

  9. C# 构建XML(简单示例)

    C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...

随机推荐

  1. windows下使用ssh(利用paramiko库)

    环境:python3.7.3 win7 or win10 1.首先下载paramiko库 命令:pip install paramiko 2.代码: import paramiko 创建一个 ssh ...

  2. itextpdf5操作文本

    itextpdf使用document操作文本可以使用3个对象来做:Chunk.Phrase.Paragraph. itextpdf5的包对它们的介绍是这样的: chunk: 这是可以添加到文档中最小的 ...

  3. Java--8--新特性--串并行流与ForkJoin框架

    并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流.穿行流则相反,并行流的底层其实就是ForkJoin框架的一个实现. 那么先了解一下ForkJoin框架吧. Fork/Join ...

  4. Eric6安装问题解决

    按照http://eric-ide.python-projects.org/eric-download.html中的说明,执行命令:python install.py 却遇到下面的问题: Compil ...

  5. 实时通讯之Socket.io

    WebSocket WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术.使用WebSocket,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成 ...

  6. nginx proxy_pass 指令

    nginx proxy_pass 指令 文档 Nginx 官方文档 https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pa ...

  7. testlink 1.9.13之后版本,将动作默认显示

    最近升级了testlink,从低版本升级到1.9.14,而作为用户来说,改变了用户习惯,感觉不太好,其中有一个用户习惯是,点击某一条用例或测试集时,要点击动作才能显示实际的内容,如下: 每次都点击很不 ...

  8. Comet OJ 夏季欢乐赛 Gree的心房

    Comet OJ 夏季欢乐赛 Gree的心房 题目传送门 题目描述 据说每一个走进Gree哥哥心房的小姑娘都没有能够再走出来-- 我们将Gree哥哥的心房抽象成一个n \times mn×m的地图,初 ...

  9. HTML基础三-JS

    一.JAVA Script 1.1 基本用法 HTML中的三把利器的JS 又称为JavaScript,看着好像和Java有点联系,实际上他和java半毛钱关系都没有,JavaScript和我们学习的P ...

  10. Linux性能优化实战学习笔记:第六讲1

    一.环境准备 1.安装软件包 终端1 机器配置:2 CPU,8GB 内存 预先安装 docker.sysstat.perf等工具 [root@luoahong ~]# docker -v Docker ...