private void TestLink(XmlDocument ixml) { string str = (ixml.DocumentElement.SelectSingleNode("//url") == null) ? "" : ixml.DocumentElement.SelectSingleNode("//url").InnerText.Trim(); string wordsBegin = (ixml.DocumentElement.SelectSingleNode("//linkBegin") == null) ? "" : ixml.DocumentElement.SelectSingleNode("//linkBegin").InnerText; string wordsEnd = (ixml.DocumentElement.SelectSingleNode("//linkEnd") == null) ? "" : ixml.DocumentElement.SelectSingleNode("//linkEnd").InnerText; string code = (ixml.DocumentElement.SelectSingleNode("//testContent") == null) ? "" : ixml.DocumentElement.SelectSingleNode("//testContent").InnerText; CollectionCommon common = new CollectionCommon(); ArrayList list = common.GetArray(code, wordsBegin, wordsEnd); StringBuilder builder = new StringBuilder(); for (int i = 0; i < list.Count; i++) { builder.Append(common.ConvertToAbsluteUrl(list[i].ToString(), str.ToString()) + "\r\n"); } string str5 = builder.ToString(); if (string.IsNullOrEmpty(str5)) { str5 = "没有截取到链接列表,请加载源代码重新设置下。"; } XmlTextWriter writer = new XmlTextWriter(HttpContext.Current.Response.OutputStream, Encoding.UTF8); writer.Formatting = Formatting.Indented; writer.Indentation = 4; writer.WriteStartDocument(); writer.WriteStartElement("root", ""); writer.WriteElementString("testContent", str5); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Close(); }
protected void Page_Load(object sender, EventArgs e) { int id = BasePage.RequestInt32("ItemId"); if (id <= 0) { AdminPage.WriteErrMsg("<li>ItemID不存在!"); } CollectionItemInfo infoById = CollectionItem.GetInfoById(id); if (infoById.IsNull) { AdminPage.WriteErrMsg("<li>当前采集项目不存在!"); } this.LblItemName.Text = infoById.ItemName; this.m_itemId = infoById.ItemId; this.m_ModelId = infoById.ModelId; this.m_NodeId = infoById.NodeId; string str = BasePage.RequestString("Action", "Add"); if (!base.IsPostBack) { this.RptModelList.DataSource = Field.GetFieldList(infoById.ModelId, false); this.RptModelList.DataBind(); if (str == "Modify") { this.BtnCancel1.Visible = true; } this.SmpNavigator.CurrentNode = string.Concat(new object[] { "<a title=\"采集项目设置\" href=\"ConfigStep1.aspx?Action=Modify&ItemId=", this.m_itemId, "&ModelId=", this.m_ModelId.ToString(), "&NodeId=", this.m_NodeId.ToString(), "\">采集项目设置</a> >> <a title=\"列表页采集设置\" href=\"ConfigStep2.aspx?Action=Modify&ItemID=", id.ToString(), "\">列表页采集设置</a> >> <span style='color:red;'>内容页采集设置</span>" }); } this.HdnAction.Value = str; CollectionCommon common = new CollectionCommon(); Uri url = new Uri(infoById.Url); string httpPage = common.GetHttpPage(url, infoById.CodeType); CollectionListRuleInfo info2 = CollectionListRules.GetInfoById(infoById.ItemId); if (info2.IsNull) { AdminPage.WriteErrMsg("<li>隶属于" + infoById.ItemName + "采集项目的列表规则不存在!"); } string code = common.GetInterceptionString(httpPage, info2.ListBeginCode, info2.ListEndCode); ArrayList list = common.GetArray(code, info2.LinkBeginCode, info2.LinkEndCode); if (list.Count < 1) { AdminPage.WriteErrMsg("<li>隶属于" + infoById.ItemName + "采集项目的链接规则设置错误无法捕捉到链接组!"); } Uri uri2 = new Uri(common.ConvertToAbsluteUrl(list[0].ToString(), infoById.Url)); this.Session["ShowCode"] = common.GetHttpPage(uri2, infoById.CodeType); }
protected void BtnTestLink_Click(object sender, EventArgs e) { CollectionCommon common = new CollectionCommon(); Uri url = new Uri(this.TxtListAddress.Text); string coding = this.CodingType(this.RadlCodeType.SelectedValue); string httpPage = common.GetHttpPage(url, coding); string code = common.GetInterceptionString(httpPage, this.TxtListBegin.Text, this.TxtListEnd.Text); ArrayList list = common.GetArray(code, this.TxtLinkBegin.Text, this.TxtLinkEnd.Text); StringBuilder builder = new StringBuilder(); for (int i = 0; i < list.Count; i++) { builder.Append(common.ConvertToAbsluteUrl(list[i].ToString(), url.ToString()) + "\r\n"); } this.TxtShowCode.Text = builder.ToString(); }
protected void Page_Load(object sender, EventArgs e) { this.m_ItemId = BasePage.RequestInt32("ItemId"); this.m_FieldName = BasePage.RequestString("FieldName"); this.m_FieldType = BasePage.RequestString("FieldType"); string str = BasePage.RequestString("FieldAlias"); if (this.m_ItemId <= 0) { AdminPage.WriteErrMsg("<li>ItemID不存在!"); } if (string.IsNullOrEmpty(this.m_FieldName)) { AdminPage.WriteErrMsg("<li>字段名称不存在!"); } if (string.IsNullOrEmpty(this.m_FieldType)) { AdminPage.WriteErrMsg("<li>字段类型不能为空!"); } this.LblFieldName.Text = str + "[" + this.m_FieldType + "]"; FieldType none = FieldType.None; if (Enum.IsDefined(typeof(FieldType), this.m_FieldType)) { none = (FieldType)Enum.Parse(typeof(FieldType), this.m_FieldType); } else { AdminPage.WriteErrMsg("<li>不是系统字段类型!"); } CollectionItemInfo infoById = CollectionItem.GetInfoById(this.m_ItemId); if (infoById.IsNull) { AdminPage.WriteErrMsg("<li>当前采集项目不存在!"); } CollectionListRuleInfo info2 = CollectionListRules.GetInfoById(infoById.ItemId); if (info2.IsNull) { AdminPage.WriteErrMsg("<li>隶属于" + infoById.ItemName + "采集项目的列表规则不存在!"); } CollectionCommon common = new CollectionCommon(); Uri url = new Uri(infoById.Url); string httpPage = common.GetHttpPage(url, infoById.CodeType); string code = common.GetInterceptionString(httpPage, info2.ListBeginCode, info2.ListEndCode); try { ArrayList list = common.GetArray(code, info2.LinkBeginCode, info2.LinkEndCode); if ((this.Session["ShowCode"] != null) && !string.IsNullOrEmpty(this.Session["ShowCode"].ToString())) { this.TxtShowCode.Text = this.Session["ShowCode"].ToString(); } else { Uri uri2 = new Uri(common.ConvertToAbsluteUrl(list[0].ToString(), infoById.Url)); this.TxtShowCode.Text = common.GetHttpPage(uri2, infoById.CodeType); this.Session["ShowCode"] = this.TxtShowCode.Text; } this.HdnTestContent.Value = this.TxtShowCode.Text; StringBuilder builder = new StringBuilder(); builder.Append("<select name='ArrContentUrl' onchange=\"testContentLink(this.options[this.selectedIndex].value)\">"); string str4 = ""; for (int i = 0; i < list.Count; i++) { str4 = common.ConvertToAbsluteUrl(list[i].ToString(), url.ToString()); builder.Append(" <option value='" + str4 + "'>" + str4 + "</option>"); } this.m_Url = common.ConvertToAbsluteUrl(list[0].ToString(), url.ToString()); builder.Append("</select> <a href='" + this.m_Url + "' id='contentLink' target='_blank' >查看原始网页</a>"); this.LblArrContentUrl.Text = builder.ToString(); this.m_CodeType = infoById.CodeType; } catch (ArgumentOutOfRangeException exception) { AdminPage.WriteErrMsg("<li>" + exception.Message + "</li>"); } this.ListFilterRuleID.Items.Add(new ListItem("不设置过滤", "0")); this.ListFilterRuleID.AppendDataBoundItems = true; this.ListFilterRuleID.DataSource = CollectionFilterRules.GetList(0, 0); this.ListFilterRuleID.DataBind(); if (!base.IsPostBack) { CollectionFieldRuleInfo info3 = CollectionFieldRules.GetInfoById(infoById.ItemId, this.m_FieldName); if (!info3.IsNull) { this.TxtFieldBegin.Text = info3.BeginCode; this.TxtFieldEnd.Text = info3.EndCode; this.TxtKeyWord.Text = info3.SpecialSetting; this.SavePhoto.Checked = DataConverter.CBoolean(info3.SpecialSetting); foreach (ListItem item in this.ListFilterRuleID.Items) { if (StringHelper.FoundCharInArr(info3.FilterRuleId, item.Value)) { item.Selected = true; } } foreach (ListItem item2 in this.ListFilterSelect.Items) { if (StringHelper.FoundCharInArr(info3.PrivateFilter, item2.Value)) { item2.Selected = true; } } } FieldType type2 = none; if (type2 == FieldType.KeywordType) { this.LblKeyWord.Visible = true; this.TxtKeyWord.Visible = true; this.ValeKeyWord.Visible = true; } else if (type2 == FieldType.ContentType) { this.TabTitle1.Visible = true; this.SavePhoto.Visible = true; this.RadlPaingType.Attributes.Add("onclick", "javascript:ListPaing(0);"); this.RadlPaingType1.Attributes.Add("onclick", "javascript:ListPaing(1);"); this.RadlPaingType2.Attributes.Add("onclick", "javascript:ListPaing(2);"); this.RadlPaingType3.Attributes.Add("onclick", "javascript:ListPaing(3);"); this.RadlPaingType4.Attributes.Add("onclick", "javascript:ListPaing(4);"); if (info3.UsePaging) { CollectionPagingRuleInfo info4 = CollectionPagingRules.GetInfoById(infoById.ItemId, 1); this.TxtPaingBegin.Text = info4.PagingBeginCode; this.TxtPaingEnd.Text = info4.PagingEndCode; switch (info4.PagingType) { case 0: this.RadlPaingType.Checked = true; break; case 1: this.RadlPaingType1.Checked = true; break; case 2: this.RadlPaingType2.Checked = true; break; case 3: this.RadlPaingType3.Checked = true; break; case 4: this.RadlPaingType4.Checked = true; break; default: this.RadlPaingType.Checked = true; break; } this.TxtPaingAddress.Text = info4.DesignatedUrl; this.TxtScopeBegin.Text = info4.ScopeBegin.ToString(); this.TxtScopeEnd.Text = info4.ScopeEnd.ToString(); this.TxtListPaing.Text = info4.PagingUrlList; this.TxtPaingBegin2.Text = info4.PagingBeginCode; this.TxtPaingEnd2.Text = info4.PagingEndCode; this.TxtLinkBegin2.Text = info4.LinkBeginCode; this.TxtLinkEnd2.Text = info4.LinkEndCode; this.Page.ClientScript.RegisterStartupScript(base.GetType(), "Init", "<script type='text/javascript'>ListPaing(" + DataConverter.CLng(info4.PagingType).ToString() + ");</script>"); } } this.ShowExclosionList(info3.ExclosionId, none); } }