public RequestResultDto UpdateIpProxy(IpProxy model) { try { _ipProxyDao.UpdateIpProxy(model); _result.Ret = 0; _result.Msg = "修改成功"; } catch (Exception e) { _result.Msg = e.Message; } return(_result); }
protected override void Handle(Page page) { // 利用 Selectable 查询并构造自己想要的数据对象 var totalVideoElements = page.Selectable.SelectList(Selectors.XPath("//tr/td[2] | //tr/td[3] | //tr/td[4] | //tr/td[5] | //tr/td[6]")).Nodes().ToList(); List <IpProxy> results = new List <IpProxy>(); var i = 1; var j = 0; var name = ""; foreach (var videoElement in totalVideoElements) { if (i % 5 == 0) { var proxy = new IpProxy(); var strs = name.Split(':'); proxy.CreateTime = DateTime.Now; proxy.FlushTime = DateTime.Now; proxy.Host = strs[1]; proxy.Port = strs[2]; proxy.Serve = strs[3]; proxy.IsHide = strs[4]; proxy.HttpType = videoElement.GetValue(); results.Add(proxy); name = ""; j++; } else { if (i % (3 + j * 5) == 0) { name = name + ":" + videoElement.XPath("a").GetValue(); } else { name = name + ":" + videoElement.GetValue(); } } i++; } // 以自定义KEY存入page对象中供Pipeline调用 page.AddResultItem("IpProxyResult", results); // 解析需要采集的URL foreach (var url in page.Selectable.SelectList(Selectors.XPath("//*[@id='body']/div[2]/a[position()<3]")).Links().Nodes()) { page.AddTargetRequest(new Request(url.GetValue(), null)); } }
public RequestResultDto AddIpProxy(IpProxy model) { try { if (_ipProxyDao.GetIpProxy(model.Host) == null) { _ipProxyDao.AddIpProxy(model); _result.Ret = 0; _result.Msg = "添加成功"; return(_result); } } catch (Exception e) { _result.Msg = e.Message; } return(_result); }