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

本篇主要分享自定义Downloader和Request信息,实现自定义请求内容,及将自定义内容存储。

   

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

本文链接:https://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等,来满足我们的需求。

本次的分享就到这里,谢谢。。。

 

原文地址:https://www.cnblogs.com/grom/p/8968905.html