文章地址

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. idea 2019 集成activiti, idea activiti 新建bpmn文件, 解决idea activiti中文乱码

    idea 在线安装activiti插件 1. File-->Settings 2. 点击Plugins, 右侧界面点击Marketplace后在搜索框搜索 actiBPM 注: 网络原因没有加载 ...

  2. USB设备驱动程序1

    目的:USB鼠标用作按键,左键相当于字母L,右键相当于字母S,中键相当于Enter.如何来实现?用到输入子系统:1)分配input_dev2)设置3)注册4)硬件相关操作对于USB鼠标来说,硬件操作应 ...

  3. 线程三态和JVM线程状态

    1.线程三态:就绪态.运行态.阻塞态 2.JVM中的六种状态 NEW(新建状态):一个尚未启动的线程所处的状态. RUNNABLE(可运行状态):可运行线程的线程状态,可能正在运行,也可能在等待处理器 ...

  4. CentOS7 开放端口 通过 firewall-cmd 工具来操作防火墙

    CentOS7 提供了 firewall-cmd 工具来操作防火墙. firewall-cmd --permanent:表示设置为持久,配置被写入配置文件,跨重启,不会立即生效,重新加载配置后生效.不 ...

  5. opacity兼容性问题

    用来设定元素透明度的 Opacity 是CSS 3里的一个属性.当然现在还只有少部分浏览器支持. 不过各个浏览器都有自己的私有属性来支持,其中包括老版本的Mozilla和Safari: IE: fil ...

  6. 【java异常】Parsing error was found in mapping #{}. Check syntax #{property|(expression), var1=value1, var2=val

    在增删改查的过程中有一个#{ }没有填写

  7. query 2019徐州网络赛(树状数组)

    query \[ Time Limit: 2000 ms \quad Memory Limit: 262144 kB \] 题意 补题才发现比赛的时候读了一个假题意.... 给出长度为 \(n\) 的 ...

  8. 原始js---JavaScript注册用正则验证用户名密码手机号邮箱验证码

    注册文件 reg.html <html><style> #btn{ background-color: red; color:white; width: 235px; } sp ...

  9. ABP .net framework版 的发布

    先正常的发布流程走 特别的如下图

  10. Android Studio 星云常用配置工具箱

    1. 安装插件 1.1 Android View绑定框架 开源地址:https://github.com/JakeWharton/butterknife 插件地址: https://github.co ...