** 温馨提示:如需转载本文,请注明内容出处。**

本文连接:http://www.cnblogs.com/grom/p/8968905.html

接上一篇,在原项目的基础上进行改造,为EntitySpider设置Downloader。

自定义Downloader类:

public class AtzucheDownloader : DotnetSpider.Core.Downloader.BaseDownloader
{
  protected override Page DowloadContent(Request request, ISpider spider)
  {
    var site = spider.Site;
    request.Extras = new Dictionary<string, dynamic>();
    request.Extras.Add("Date", DateTime.Now.ToString("yyyy-MM-dd"));
    Page page = new Page(request);
    return new DotnetSpider.Core.Downloader.HttpClientDownloader().Download(request,spider);
  }
}

注释为:

这里的数据字典可以在选择器中使用SelectorType.Enviroment来使用

  

如图所示,Url为Request自带Key,Date就是我们上面设置的属性了,通过这种方法,达到了在数据库内插入一列自定义数据,我这里的作用是记录抓取日期。

结果:

  

来看下Request类

  

这个是发起请求的信息,也就是说,在这个自定义的Downloader里面,我们可以任意修改定义带{ set; }权限的属性,包括cookie等,来满足我们的需求。

DotnetSpider (二) Downloader的设置 Request自定义数据字典相关推荐

  1. 2021年大数据Hadoop(二十二):MapReduce的自定义分组

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 MapReduce的自定义分组 需求 分析 实现 第一步: ...

  2. 李洪强iOS之集成极光推送二iOS 证书 设置指南

    李洪强iOS之集成极光推送二iOS 证书 设置指南 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning ...

  3. GeoServer二次开发-OWS服务(自定义模块)

    title: GeoServer二次开发-OWS服务(自定义模块) date: 2021-04-25 author: ac tags: GeoServer categories: GIS 本章介绍Ge ...

  4. IntelliJ IDEA - 主题设置或自定义主题

    IntelliJ IDEA - 主题设置 设置主题 自定义主题 提供4主题插件 提供4主题插件下载地址 设置主题 这里默认提供了三套主题:IntelliJ,Darcula,Windows.这里可以根据 ...

  5. 「FastAdmin」fastadmin二次开发中如何自定义查询数据

    fastadmin二次开发中如何自定义查询数据 问题背景:最近做一个网站的过程中遇到了一个需求:对于不同用户组的用户,显示的数据要根据权限来筛选.问题看起来不是很难,文档和社区中已经给了足够的提示,我 ...

  6. R语言plotly可视化:可视化直方图、归一化的直方图、水平直方图、互相重叠的直方图、堆叠的直方图、累积直方图、通过bingroup参数设置多个直方图使用相同的bins设置、自定义直方图条形的间距

    R语言plotly可视化:可视化直方图.归一化的直方图.水平直方图.互相重叠的直方图.堆叠的直方图.累积直方图.通过bingroup参数设置多个直方图使用相同的bins设置.自定义直方图条形的间距 目 ...

  7. SAP UI5 初学者教程之二十一 - SAP UI5 的自定义格式器(Custom Formatter) 试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  8. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置

    前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...

  9. setCharacterEncoding 是在request.getParameter获取参数之前 设置request的编码格式 一步到位...

    setCharacterEncoding 是在request.getParameter获取参数之前 设置request的编码格式 一步到位 转载于:https://www.cnblogs.com/cl ...

最新文章

  1. 使用class-dump破解ipa获取.h文件
  2. 深度学习与工业互联网安全
  3. ID--HANDLE--HWND三者之间的互相转换
  4. APScheduler 浅析
  5. C++题解-Leecode 520. 检测大写字母——Leecode每日一题系列
  6. 工作流实战_14_flowable_已办任务列表查询
  7. wireshark网卡权限_设置网卡属性用wireshark抓VLAN包
  8. 得到的 飞鸽 传书结果就是int * pointer;
  9. C++调用PyTorch模型:LibTorch
  10. java Calendar的学习分享
  11. linux面试题(填空部分)
  12. JSONObject.fromObject - JSON与对象的转换
  13. 专精特新企业数据库-专精特新企业名单及汇总
  14. 电脑浏览器打不开html文档,电脑浏览器打不开本地html文件
  15. matmul torch 详解_Pytorch | 详解Pytorch科学计算包——Tensor
  16. 交通灯系统设计 educoder实训项目 logisim实现
  17. 解决Win10 无线显示器功能安装时失败
  18. 【星门跳跃】解题报告
  19. c语言case后面,switch语句case后面的范围怎么写
  20. 将wav音频文件频谱分析后映射到钢琴琴键上(类似audio to midi功能)

热门文章

  1. 在Qt Designer中使用自定义Widgets小部件
  2. QML 信号和处理程序事件系统
  3. C语言二叉树总和等于k的所有路径的算法(附完整源码)
  4. C++ Bayes‘ theorem贝叶斯定理的实现算法(附完整源码)
  5. C++求LCM的和算法(附完整源码)
  6. 哈希表处理冲突的方法?
  7. QT的QScriptValueIterator类的使用
  8. java equals比较_Java中equals()和==的比较
  9. springmvc 传递和接收数组参数
  10. Sturt2做表单重复提交