test

简介:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;


using System.Text.RegularExpressions;
using System.Collections;
using System.Collections.Generic;

using System.Net;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            InitData();

        }
    }
    protected void btnCollect_Click(object sender, EventArgs e)
    {
        string strUrl = txtCollectionUrl.Text.Trim();
        List<string> urls = new List<string>();
        List<string> serialsStrings = new List<string>();
        Dictionary<string, string> dic = new Dictionary<string, string>();
        int iStart = 0;
        int iEnd = 0;
        if (string.IsNullOrEmpty(strUrl))
            return;

        string hasPattern = @"{*}";
        Regex reg = new Regex(hasPattern, RegexOptions.Compiled | RegexOptions.Singleline);
        if (reg.IsMatch(strUrl))
        {
            int.TryParse(txtStart.Text.Trim(), out iStart);
            int.TryParse(txtEnd.Text.Trim(), out iEnd);

            serialsStrings = GetSerialStrings(iStart, iEnd, Convert.ToInt32(ddlSimilarCount.SelectedValue));

            foreach (string var in serialsStrings)
            {
                urls.Add(strUrl.Replace(hasPattern,var));
            }
        }
        else
        {
            urls.Add(strUrl);
        }
        foreach (string var in urls)
        {
            Response.Write(var + "<br />");
        }

        foreach (string var in urls)
        {
            WebRequest request = WebRequest.Create(var);

            WebResponse response = request.GetResponse();

            Stream stream = response.GetResponseStream();
            StreamReader reader = new StreamReader(stream, System.Text.Encoding.Default);

            string strContent = reader.ReadToEnd();
            string strContentPattern = txtPrefixRule.Text + @".*?" + txtSuffixRule.Text;

            Regex regContent = new Regex(strContentPattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);
            MatchCollection mc = regContent.Matches(strContent);

            foreach (Match match in mc)
            {
                //Response.Write(match.Value);
                dic["Issue"] = GetContent(match.Value, txtPrefixIssueRule.Text, txtSubffixIssueRule.Text);
                dic["Lottery"] = GetContent(match.Value, txtPrefixLotteryRule.Text, txtSubffixLotteryRule.Text);
                dic["Result"] = GetContent(match.Value, txtPrefixResultRule.Text, txtSubffixResultRule.Text);
                dic["SaleRoom"] = GetContent(match.Value, txtPrefixSaleRoomRule.Text, txtSubffixSaleRoomRule.Text);
                dic["Date"] = GetContent(match.Value, txtPrefixDateRule.Text, txtSubffixDateRule.Text);
                
            }
        }

        foreach (object var in collection_to_loop)
        {
            
        }

    }

    private string GetContent(string content, string startStr, string endStr)
    {
        string result = string.Empty;
        int indexA = content.IndexOf(startStr);
        int indexB = content.IndexOf(endStr);


        if (indexA > -1 && indexB > -1)
        {
            if (indexA > indexB)
            {
                indexB = content.IndexOf(endStr, indexA);
                //indexA = 0;
            }
            if (indexB > -1)
                result = content.Substring(indexA + startStr.Length, indexB - indexA - startStr.Length);
        }
        return result;
    }
    private void InitData()
    {
        this.txtStart.Text = "0";
        this.txtEnd.Text = "0";

        for (int i = 1; i <= 5; i++)
        {
            ddlSimilarCount.Items.Add(new ListItem(i.ToString(), i.ToString()));
        }
        ddlSimilarCount.SelectedValue = "2";
    }
    private List<string> GetSerialStrings(int iStart, int iEnd, int length)
    {
        int iTempStart = iStart;
        int iTempEnd = iEnd;
        List<string> serialStrings = new List<string>();

        if (iStart > iEnd)
        {
            iTempStart = iEnd;
            iTempEnd = iStart;
        }
        
        if (iTempEnd.ToString().Length > length)
            length = iTempEnd.ToString().Length;

        int iCount = iTempEnd - iTempStart;

        for (int i = iTempStart; i <= iTempEnd; i++)
        {
            serialStrings.Add(i.ToString().PadLeft(length, '0'));
        }

        return serialStrings;

    }

}
转载请注明出处[ http://samlin.cnblogs.com/] 
作者赞赏
 


刚做的招标网: 八爪鱼招标网 请大家多意见


本文转自Sam Lin博客博客园博客,原文链接:http://www.cnblogs.com/samlin/archive/2008/12/01/1345302.html,如需转载请自行联系原作者

目录
相关文章
|
SQL 数据管理 网络安全
数据管理DMS操作报错合集之DMS的CPU使用率达到100%,如何解决
数据管理DMS(Data Management Service)是阿里云提供的数据库管理和运维服务,它支持多种数据库类型,包括RDS、PolarDB、MongoDB等。在使用DMS进行数据库操作时,可能会遇到各种报错情况。以下是一些常见的DMS操作报错及其可能的原因与解决措施的合集。
|
PHP Python
矩阵制度三三复制直销系统模式开发详解 | 矩阵制度三三复制直销系统开发源码demo示例
矩阵制度三三复制模式是一种常见的直销模式,也被称为三三复制模式。该模式限制了前排的数量,只能填满3个位置,奖金则是按照固定的深度来进行领取的。在该模式中,每个参与者都可以推荐其他人加入,如果成功推荐,就可以获得相应的奖金。具体来说,如果推荐一个参与者,可以获得20美元的奖金;如果推荐两个参与者,可以获得10美元的奖金;如果推荐三个参与者,可以获得4美元的奖金。此外,该模式还有一些其他的奖金制度,如培育奖金、扣税等。
|
Android开发
【RecyclerView】 五、RecyclerView 布局 ( 瀑布流 | 交错网格局管理器 StaggeredGridLayoutManager )
【RecyclerView】 五、RecyclerView 布局 ( 瀑布流 | 交错网格局管理器 StaggeredGridLayoutManager )
818 0
【RecyclerView】 五、RecyclerView 布局 ( 瀑布流 | 交错网格局管理器 StaggeredGridLayoutManager )
|
8月前
|
前端开发 JavaScript Java
通过ChatGPT生成测试用例和测试脚本(2)
通过ChatGPT生成测试用例和测试脚本
186 21
|
8月前
|
SQL 人工智能 关系型数据库
AI时代下的PolarDB:In-DB一体化模型训练与推理服务
本次分享主题为“AI时代下的PolarDB:In-DB一体化模型训练与推理服务”,由阿里云资深专家贾新华和合思信息刘桐炯主讲。内容涵盖PolarDB的关键能力、AI硬件与软件结构支持、典型应用场景(MLops、ChatBI、智能搜索),以及合思实践案例——AI对话机器人提升客户响应效率。通过简化流程、SQL统一管理及内置算法,PolarDB显著降低了AI应用门槛,并在多个行业实现最佳实践。
350 3
|
10月前
|
大数据 C语言
C 语言动态内存分配 —— 灵活掌控内存资源
C语言动态内存分配使程序在运行时灵活管理内存资源,通过malloc、calloc、realloc和free等函数实现内存的申请与释放,提高内存使用效率,适应不同应用场景需求。
|
消息中间件 设计模式 Dubbo
阿里互联网一线大厂Java岗面试题库(2023年版)这次38k!稳了
前言 本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果。
394 0
|
小程序 Java 编译器
性能工具之JMeter 微信小程序 WebSocket 脚本入门
【5月更文挑战第12天】性能工具之JMeter 微信小程序 WebSocket 脚本入门
395 1
|
消息中间件 存储 Java
AutoMQ 如何基于裸设备实现高性能的 WAL
AutoMQ是基于S3 Stream的Apache Kafka云原生解决方案,利用云盘和对象存储实现低延迟、高吞吐、低成本流式存储。Delta WAL是其核心组件,作为持久化写入缓冲区,先在云盘上做高效持久化,再上传至对象存储。Delta WAL采用Direct IO在裸设备上读写,避免Page Cache污染,提高写入性能,加快宕机恢复速度。设计目标包括轮转写入、充分利用云盘性能和快速恢复。其写入和恢复流程涉及WALHeader、RecordHeader和SlidingWindow数据结构。基准测试显示,Delta WAL能充分利用云盘资源,实现高吞吐和低延迟。
210 0
AutoMQ 如何基于裸设备实现高性能的 WAL
|
算法 安全 前端开发
JVM的基础入门(上)
JVM的基础入门(上)
209 0