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等,来满足我们的需求。
本次的分享就到这里,谢谢。。。
作者:Grom
出处:http://www.cnblogs.com/grom/
Where there is a will there is the way.