http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 2663|回复: 4

[毕业生提问] 求高手帮忙

[复制链接]
发表于 2014-8-14 09:49:19 | 显示全部楼层 |阅读模式
1金钱
一个c#程序。界面是由2个textBox、1个button、一个richTextBox组成。1.要求2个textBox分别读出文件夹中的内容,并且完成拼接。2.写个扫描算法,扫描拼接出来的字符串。3.加个线程控制。4.完成后进行测试。看看能否扫描出拼接字符串后的结果。
  public Form1()
        {
            InitializeComponent();
            textBox1.Text = @"f:\网站名.txt";
            textBox2.Text = @"f:\文件名.txt";
        }//读取
private void button1_Click(object sender, EventArgs e)
        {
            Control.CheckForIllegalCrossThreadCalls = false;
            //kaishi();
            zhixing();

        }//执行方法
public void zhixing()
        {
            //拼接字符
            string[] wangzhi = File.ReadAllLines(textBox1.Text.Trim());//读取txt
            string[] wenjianming = File.ReadAllLines(textBox2.Text.Trim());
            int shuliang = (int)wangzhi.Length * (int)wenjianming.Length;//计算需要循环多少次
            foreach (string wangzhi1 in wangzhi)//循环读取txt文件的内容
            {
                foreach (string wenjianming1 in wenjianming)
                {
                    string strurl1 = "http://" + wangzhi1 + "/" + wenjianming1;
                    ThreadPool.QueueUserWorkItem(new WaitCallback(GetGeneralContent), strurl1);//创建一个线程池,并执行auto方法,strurl1是auto方法的参数
                }

            }
        }//循环读取信息,并且进行访问验证
public void GetGeneralContent(object strUrl)
        {
            string strurl = strUrl as string;
            string strMsg = string.Empty;
            try
            {

                WebRequest request = WebRequest.Create(strurl);//链接浏览器
                WebResponse response = request.GetResponse();//取链接返回内容
                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
                strMsg = reader.ReadToEnd();

                if (strMsg.Contains("404 - Page Not Found"))//判断是否出现404
                {
                    // richTextBox1.AppendText(strurl + " " + "[200]" + "\n");
                }
                else
                {
                    richTextBox1.AppendText(strurl + " " + "[200]" + "\n");
                }
                reader.Close();
                reader.Dispose();
                response.Close();
            }
            catch
            { }

        }//判断是否是我要的页面

这是我的代码 求高手指点帮忙



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-8-14 10:21:33 | 显示全部楼层
留个记号,虽然现在没空,但我一定会记得回来看的,请楼主放心。
回复

使用道具 举报

 楼主| 发表于 2014-8-14 13:47:17 | 显示全部楼层
水手 发表于 2014-8-14 10:21
留个记号,虽然现在没空,但我一定会记得回来看的,请楼主放心。

谢谢
回复

使用道具 举报

发表于 2014-8-15 09:16:01 | 显示全部楼层
虽然不知道你是什么问题,但是关于判断地址是否有效可以直接通过判断Response的StatusCode来解决而不需要读取页面的内容,会有一定的效率提升
关于StatusCode的详细内容http://www.sufeinet.com/thread-3589-1-1.html
回复

使用道具 举报

 楼主| 发表于 2014-8-15 09:25:02 | 显示全部楼层
虽然你说的这个对我这个程序的帮助不大,但是还是需要谢谢你。  谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-5 09:17

© 2014-2021

快速回复 返回顶部 返回列表