Categories


Tags


抢先式多线程网络蜘蛛

框架 // Copyright(C) 2017 铭飞科技 // #region 版权信息 /* * 此文件自 Copyright(C) 2008 - 2017 铭飞科技 Classification:无 开源网站:http://www.http://www. coding */ #endregion using System; using System.Data; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; namespace Web.Templates.UI { ///

/// 标签树控件 /// public class Tree : System.Web.UI.WebControls.TreeView { private string _styleName = ""; /// /// 样式 /// /// The name of the style. public string StyleName { get { return _styleName; } set { _styleName = value; } } private string _checkedValue = ""; /// /// 默认选中当前值 /// /// The checked value. public string CheckedValue { get { return _checkedValue; } set { _checkedValue = value; } } private string _checkBoxName = ""; /// /// 复选框名称 /// /// The check box name. public string CheckBoxName { get { return _checkBoxName; } set { _checkBoxName = value; } } private int _checkParentType = -1; /// /// /// /// The type of the check parent. public int CheckParentType { get { return _checkParentType; } set { _checkParentType = value; } } private int _checkChildType = -1; /// /// /// /// The type of the check child. public int CheckChildType { get { return _checkChildType; } set { _checkChildType = value; } } private string _showLevel = "999"; /// /// 显示层级 /// /// The show level. public string ShowLevel { get { return _showLevel; } set { _showLevel = value; } } private string _valueField = "id"; /// /// 编号字段名 /// /// The value field. public string ValueField { get { return _valueField; } set { _valueField = value; } } private string _textField = "title"; /// /// 显示字段名 /// /// The text field. public string TextField { get { return _textField; } set { _textField = value; } } private string _fatherField = "parentid"; /// /// 父编号字段名 /// /// The father field. public string FatherField { get { return _fatherField; } set { _fatherField = value; } } private TreeNodeBindEventHandler _onBind; /// /// 构建事件 /// /// The on bind event. public event TreeNodeBindEventHandler OnBind { add { _onBind += value; } remove { _onBind -= value; } } private DataTable _dataSource; /// /// 数据源 /// /// The data source. public DataTable DataSource { get { return _dataSource; } set { _dataSource = value; } } /// /// 绑定数据 /// public override void DataBind() { this.Nodes.Clear(); this.ShowCheckBox = this.CheckBoxName != "" && this.CheckBoxName != null; if (_dataSource != null) { TreeNode root_node = new TreeNode(); root_node.Value = "-1"; root_node.Text = "根目录"; Nodes.Add(root_node); List root_list = new List(); for (int i = 0; i < _dataSource.Rows.Count; i++) { TreeNode node = new TreeNode(); DataRow dr = _dataSource.Rows[i]; node.Value = dr[_valueField].ToString(); node.Text = dr[_textField].ToString(); node.SelectAction = TreeNodeSelectAction.None; //node.Depth =int.Parse(_showLevel); if (_onBind != null) { _onBind(node); } if (dr[_fatherField].ToString() == "-1" || dr[_fatherField].ToString() == "0") { Nodes.Add(node); if (node.Value == _checkedValue) { node.Checked = true; } int has = 0; for (int j = 0; j < root_list.Count; j++) { if (root_list[j] == int.Parse(node.Value)) { has = 1; } } if (has == 0) { root_list.Add(int.Parse(node.Value)); } } else { TreeNode father_node = GetNode(root_node, dr[_fatherField].ToString()); if (father_node != null) { father_node.ChildNodes.Add(node); if (node.Value == _checkedValue) { node.Checked = true; } } } } //绑定事件,自动勾选父级节点 if (this.CheckParentType == 0 || this.CheckChildType == 0) { string enterjvice = ""; if (this.CheckParentType == 0) { enterjvice += "FatherChecked"; } if (this.CheckChildType == 0) { enterjvice += "ChildChecked"; } if (enterjvice != "" && this.Nodes.Count > 0) { this.Attributes.Add("onclick", "JscAutoCheckedNode(this,'" + enterjvice + "');"); } } } base.DataBind(); } /// /// 构建HTML /// /// The object that receives the server control content. protected override void Render(HtmlTextWriter writer) { string[] style_list = new string[] { "admin_tree", "data_tree", "input_tree", "menu_tree", "popmenu_tree" }; switch (_styleName) { case "menu_tree": this.ShowCheckBox = false; this.CssClass += " menu"; break; case "popmenu_tree": this.

Public @ 2023-02-24 22:25:29

【官方说法】百度蜘蛛抓取流量暴增的原因

百度官方表示,造成蜘蛛抓取流量暴增的原因主要有以下几个方面: 1. 站点更新频繁:如果站点内容更新频繁,蜘蛛会更加积极地抓取页面,从而带来流量的上涨。 2. 站点质量提高:如果站点内容质量得到提高,搜索引擎会更加青睐,从而增加蜘蛛的抓取频率,进而带来流量的上涨。 3. 站点结构优化:如果站点结构调整得当,蜘蛛能够更好地抓取页面,从而提高流量。 4. 站点权重提高:如果站点的权重得到提高,蜘

Public @ 2023-06-12 09:50:20

什么是模拟蜘蛛抓取

模拟蜘蛛抓取是指通过计算机程序对蜘蛛行为进行模拟,实现自动化抓取网页内容的过程。蜘蛛抓取通常用于搜索引擎、数据挖掘、网络爬虫等应用,通过模拟蜘蛛的方式,可以自动遍历互联网上的网页,提取其中的信息,例如网页的标题、正文内容、链接等。 模拟蜘蛛抓取的过程通常分为以下几个步骤: 1. 初始URL列表:确定起始的URL列表,作为开始抓取的入口。 2. 发送HTTP请求:程序向目标URL发送HTTP请求,

Public @ 2023-07-24 01:00:31

如何提高spider抓取网站?提高spider抓取策略(2)

1. 增加抓取频率:可以通过减少抓取的时间间隔来提高 spider 的抓取频率,但需要注意不要过度频繁抓取,否则会给网站带来过大的访问压力。 2. 使用代理 IP:使用代理 IP 可以帮助 spider 绕过网站的访问限制,提高抓取成功率。 3. 模拟人工操作:模拟人工操作可以让 spider 更像真实用户,例如浏览网页、点击链接等,可以提高抓取成功率。 4. 优化抓取路径:优化抓取路径可以

Public @ 2023-06-18 20:00:26

网站抓取了一些不存在的目录跟页面?

网站抓取了一些不存在的目录跟页面,本站倒是一个都不抓取是怎么回事?微信 悬赏网站抓取了一些不存在的目录跟页面,本站倒是一个都不抓取是怎么回事?要如何做才能让百度来抓取本站页面,一个多页了啥都没抓取,谜一样。。。以下抓取页面都不存在,另外网站例如新闻页面生成的文章在根目录是没有的,应该是动态的,这是否导致都不抓取了呢?回答:你确定蜘蛛是真的百度蜘蛛吗?99.99%的概率是假蜘蛛,不是真的!来源:A5

Public @ 2010-05-17 16:05:02

更多您感兴趣的搜索

0.500606s